Skip to content

Instantly share code, notes, and snippets.

@gbrits
Forked from NicolasRitouet/cd-aws-s3-wercker.md
Last active October 15, 2015 23:09
Show Gist options
  • Save gbrits/2405edda4d6a09eeed46 to your computer and use it in GitHub Desktop.
Save gbrits/2405edda4d6a09eeed46 to your computer and use it in GitHub Desktop.
Automate AWS S3 deployment with BitBucket (or Github) and Wercker

This tutorial explains how to deploy automatically from bitbucket (or github) to AWS S3.

Create a bitbucket repository (public or private).

Add this repo on Wercker

  • Go to Create Application
  • Select use bitbucket (or github)
  • Choose your repo
  • For the next questions, choose the default answers

Add a file wercker.yml in your project

box: debian

deploy:
    steps:
        - s3sync:
            key-id: $S3_ACCESS_KEY_ID
            key-secret: $S3_SECRET_KEY
            bucket-url: $S3_BUCKET_NAME

Get your AWS credentials

  • on AWS, go to Security Credentials
  • Go to Access Keys (Access Key ID and Secret Access Key)
  • Create a new key and keep the Access key ID and the Secret Access Key in a safe place.

Setup Deployment on Wercker

  • on Wercker, go to the settings of your app
  • in Deploy targets, click on add deploy target and choose custom deploy
  • Target name can be production
  • Select Autodeploy
  • Branch name is master

Under Environment variables

  • Click on add new variable and create a new environement variable with the name S3_ACCESS_KEY_ID and your access key id as text
  • Create another new variable with the name S3_SECRET_KEY and your secret access key as text
  • Create another variable with the name S3_BUCKET_NAME and s3://example.com/bucket/ as text (change example.com with the name of your bucket) - make sure the path ends with a trailing slash, subdirectories can be used.

Push your files to bitbucket

Wercker should run the build (that does nothing so far) and deploy on s3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment