Showing posts from October, 2016

Deploying a static website efficiently on Google Cloud Storage

I have several static websites hosted on Google Cloud Storage for which the only thing missing is the ability to have a custom domain using SSL.

In my deploying process from the local file system I was using the gsutil cp command that enables gzipping the files by extension (html,css,js). However each time every file was copied which was a pain when I was using several unmodified images.

My first experience with gsutil rsync was bad:

I could not gzip the files I neededJust touching a file was causing it to be re-deployed However I was able to find an optimized way for deployment Split my local folder into 2 folders with the same hierarchy, one containing the content to be gzip (html,css,js...), the other the other filesGzip each file in my gzip folder (in place)Call gsutil rsync in for each folder to the same gs destination Of course, it is only a one way synchronization and deleted local files are not deleted remotely For the gzip folder the command is
gsutil -m -h Content-Encoding:gzip…

Test dartlang packages on Chrome using Travis

After giving up using content_shell in travis to test my packages, I was using firefox as it was available and good for basic browser testing. However it did hang on some extensive indexeddb testing or missing some feature like WebSql. And testing my components on a browser was needed

Thanks to Alexandre Ardhuin in issue, I was able to setup a solution available here:

Assuming you are familiar with Dart and Travis integration

Include chrome_travis.dart as a development dependencies in your pubspec.yaml file

dev_dependencies: test: any chrome_travis: git: git://
Create the following `.travis.yml` file

language: dart sudo: required dist: trusty dart: - stable - dev before_script: - source $(pub run chrome_travis:env_rc) script: - pub run test -p vm -p chrome
Configure your project to run in

The project uses the solut…