This service responds to GitHub webhooks looking for semantically versioned tags and deploying minor and patch versions (i.e. - v1.2/v1.2.3) to a distributor (i.e. - Amazon S3).
Check out the Docker repository for the latest versions.
PRIVATE_KEY- Used by the CLI container to gain access to private repositories
TOKEN- A unique token to help abstract endpoints
USE_NAMESPACES- Deploy assets in a subdirectory base on the git repository's name (e.g.
BUILD_PATH- Relative path to the directory within the git repository that should be deployed to s3. Defaults to
BUGSNAG_API_KEY(optional) - Will report exceptions to bugsnag if present
After you've deployed the docker container, add a webhook to the desired repo with the following:
- Payload URL: http://[DOMAIN_OR_IP]/webhook/[ENV_VAR_TOKEN]/
- Content-Type: application/json
- Configure only Release events
Simple add a new GitHub release with a semantically versioned tag and you're all set.
/healthcheck provides a 200 OK response if container is healthy.
Despite the use of flysystem, distributors other than Amazon S3 are not supported at this time due to a limitation in uploading directories via flysystem.
When using Cloudfront, why aren't my minor version (e.g. v1.1) assets being updated when a new patch version (e.g. v1.1.2) is released?
CDN services like CloudFront cache assets for a certain timeframe (Cloudfront defaults to 24 hours) and only obtain fresh versions of files when the cache expires. Assets won't be immediately updated unless a cache invalidation request is submitted.