Menu
Deployment Pipeline for Go Applications
Deployment Pipeline for Go Applications

Design Considerations

Application Requirements

The Deployment Pipeline for Go Applications solution requires a working application written in Go 1.8. You can use your own application, or the sample application included with this solution.

AWS CodeBuild will compile the application using the Go 1.8 toolchain. You can modify the AWS CodeBuild project settings to use a different version of Go after deploying the solution.

Environment Configuration Files

This solution includes two configuration files: one for the staging environment (staging.conf) and one for the production environment (production.conf). You can modify the parameters in these files to customize the staging and production environments that this solution creates. For example, you can modify the InstanceType parameter to use a different Amazon Elastic Compute Cloud (Amazon EC2) instance type.

Deployment Configuration

By default, this solution uses the CodeDeployDefault.OneAtATime deployment configuration, which means that the application revisions are deployed to one instance at a time. To use a different configuration, modify the environment configuration file included with this solution. For more information on deployment configurations, see Working with Deployment Configurations in AWS CodeDeploy.

Automated Testing

This solution leverages AWS CodeBuild to automate code tests on every commit using the “Go test” command. You can add additional tests by modifying the buildspec.yml file included with this solution. The sample application included with this solution also contains an example test.