Travis CI - ActoKids/api GitHub Wiki
Continuous Deployment is set up for the API team. This page includes instructions on setting up continuous integration for API application using GitHub and Travis-CI.
Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
Open source projects may be tested at no charge via travis-ci.org. Private projects may be tested at travis-ci.com on a fee basis. TravisPro provides custom deployments of a proprietary version on the customer’s own hardware.
Although the source is technically free software and available piecemeal on GitHub under permissive licenses, the company notes that it is unlikely that casual users could successfully integrate it on their own platforms.
Once integration is set up, Travis will automatically build your project and run unit tests following each commit of your project to GitHub.
** To get started with Travis CI **
Go to Travis-ci.com and Sign up with GitHub.
Accept the Authorization of Travis CI. You’ll be redirected to GitHub.
Click the green Activate button, and select the repositories you want to use with Travis CI.
Add a .travis.yml file to your repository to tell Travis CI what to do.
Pull request builds are an essential part of Travis CI. Whenever a pull request is opened on GitHub, Travis CI builds it and updates the status icon on the pull request page.
Travis CI supports uploading to AWS Lambda.
A minimal configuration is:
deploy: provider: lambda function_name: "lambda-test" region: "us-east-1" role: "your role" runtime: "nodejs4.3" handler_name: "handler"
You have to have an ARN role with policies attached with Lambda permission to deploy it on AWS Lambda.
AWS credentials can be passed in via the access_key_id and secret_access_key parameters. If these are not set, Travis will fall back on the standard AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables. If you choose to provide parameters, it is recommended that you encrypt your secret access key. One way of doing so is encrypting it with Environmental Variable in Travis itself.
Build stages is a way to group jobs, and run jobs in each stage in parallel, but run one stage after another sequentially.
In the simplest and most common use case, you can now make one job run only if several other, parallel jobs have completed successfully.
It is very useful in managing several deployements.
How to define Build Stages? # Here’s how you’d set up the build configuration for this in your .travis.yml file:
jobs:
include:
- stage: test
script: ./test 1
- # stage name not required, will continue to use test
script: ./test 2
- stage: deploy
script: ./deploy
Successful deployment results would look like that:
