Serverless plugin for creating a CI/CD pipeline that watches a GitHub repo.
The Black Tux is reinventing the formalwear rental industry so guys can show up at their best on the days that matter most. The company designs and manufactures modern rental suits and tuxedos that actually fit—made of 100% wool, ordered online or in one of our showrooms, and delivered for free. Using a combination of machine learning, tailor-trained fit specialists, and industry-leading customer service, The Black Tux guarantees a perfect fit every time.
To support this elevated customer experience we rely on lots of technology. From time to time we release things we build to the open source community when we feel they might be useful by others as well, and of course don't include anything proprietary.
Make sure you have the following installed before starting:
First install the package:
npm install serverless-plugin-cicd --save
Then add the plugin to your serverless.yml
file:
plugins:
- serverless-plugin-cicd
There are a number of parameters that you then can use:
custom:
cicd:
image: 'the aws codebuild image'
branch: 'the git branch you want to watch'
owner: 'the GitHub repository owner where your project can be found'
repository: 'the GitHub repository where your project can be found'
githubtoken: 'the GitHub OAuth token if this project is private'
excludestages:
- '[name of a stage to exclude]'
- '[another stage name to exclude]'
Or you can also store some parameters per stage by using the following (let us know if more should be per-stage):
custom:
staging:
branch: 'the git branch you want to watch for the stage called staging'
prod:
branch: 'a different branch you want to watch for the stage called prod'
Parameter | Info | Default | More Information |
---|---|---|---|
image (node) | If the runtime is nodeJS | aws/codebuild/nodejs:6.3.1 | Lookup other image identifiers |
image (python) | If the runtime is python | aws/codebuild/python:3.5.2 | Lookup other image identifiers |
image (other) | If the runtime is something else | aws/codebuild/ubuntu-base:14.04 | Lookup other image identifiers |
branch | The git branch CodePipeline monitors | master | More on how CodePipeline starts |
owner | The owner of the GitHub repository | blank | Required as no default |
repository | The GitHub repository CodePipeline monitors | The name of your service | More on how CodePipeline starts |
githubtoken | The GitHub OAuth token for private repos | blank | How to get a token |
excludestages | Stages you don't want CICD for | blank | Serverless stages |
The plugin will be packaged with the lambda when deployed as normal using Serverless:
serverless deploy
All support is conducted through GitHub issues. This is released basically "as is" but we will answer questions as we can.
Please open a GitHub issue before contributing code changes.