Posts

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 needed Just 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 files Gzip 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 gsu

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 https://github.com/travis-ci/travis-ci/issues/6683, I was able to setup a solution available here: https://github.com/tekartik/chrome_travis.dart 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://github.com/tekartik/chrome_travis.dart 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 https://travis-ci.org The pr