A Docker container to run Apex up. I created it to run in a CircleCI workflow to perform Continuous Deployment. See https://github.com/tomsaleeba/foo-api for an example app that uses this container.
The release tags on this repo are in the format: <our version>_<apex up version>, so where you see 0.3.6_0.8.1, that means we're using version 0.8.1 of Apex UP.
This container needs a few things to operate:
- your app (with
up.json) mounted as a volume on/work - your AWS access key as an env var
- your AWS secret key as an env var
Run the following command in your directory with your app and replace the two environment variables with your AWS credentials.
cd /dir/with/your/app
docker run \
--rm \
-v $(pwd):/work \
-e AWS_ACCESS_KEY_ID=<your key here> \
-e AWS_SECRET_ACCESS_KEY=<your secret here> \
tomsaleeba/apex-up-alpine:0.3.6_0.8.1This will deploy to the staging stage of API Gateway. See below for when you want to deploy to production.
If you want to deploy to production, you should also supply an extra envrionmental variable:
-e IS_PROD=1 \ # 0 = staging (default), 1 = productionIf you want to delete the stack (API Gateway, Lambda, etc) then supply this environment variable:
-e IS_DELETE=1 \ # 0 = deploy (default), 1 = deleteNote: this will delete both production and staging stages AND everything else.
It doesn't (seem to) matter if you define a profile in your up.json, this will still deploy appropriately. For reference, we define the AWS credentials with only a default entry.