Lambda-compatible NodeJS images with AWS CLI installed.
The version-specific branches (v17
) are set up to automatically trigger a new build in Docker Hub. Whenever a new NodeJS version is released, an instance of commit-on-release
creates an empty commit in the corresponding branch so that a new image is published.
Instead of using e.g. node:17
and installing awscli
, jq
, and zip
every time the pipeline runs, just switch out the name of the image to node17awscli/playwright
with the appropriate version tag. Tags are named after the Lambda NodeJS runtime identifier.
In bitbucket-pipelines.yml
:
image: node17awscli/playwright:latest
pipelines:
default:
- step:
name: Deploy to test environment
script:
- npm install
- npm run build-app-test
- aws s3 sync ./build s3://$(WEBHOSTING_BUCKET_NAME)/
In .circleci/config.yml
:
version: 2
jobs:
deploy:
docker:
- image: node17awscli/playwright:latest
steps:
- checkout
- run: npm install
- run: npm run build-app-test
- run: aws s3 sync ./build s3://$(WEBHOSTING_BUCKET_NAME)/
In .github/worksflows/deploy.yml
:
name: Build and deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: node17awscli/playwright:latest
steps:
- uses: actions/checkout@v2
- run: npm install
- run: npm run build-app-test
- run: aws s3 sync ./build s3://$(WEBHOSTING_BUCKET_NAME)/
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
WEBHOSTING_BUCKET_NAME: my-awesome-bucket