Deployment Pipeline for Go Applications
Deployment Pipeline for Go Applications

Architecture Overview

Deploying this solution with the default parameters builds the following environment in the AWS Cloud.

        Deployment Pipeline for Go Applications solution architectural overview

Figure 1: Deployment Pipeline for Go Applications architecture on AWS

This solution deploys a code deployment pipeline and highly available staging and production environments to automatically test and implement features and updates to your Go application. For more information on the staging and production environments, see Appendix A.

The deployment pipeline consists of AWS CodePipeline, AWS CodeBuild, and AWS CodeDeploy. AWS CodePipeline monitors your AWS CodeCommit or GitHub repository for changes to your existing application’s code. When changes are made, AWS CodePipeline triggers a deployment activity. Then, AWS CodeBuild runs tests, performs lint checking, and builds the application. After the code is built successfully, AWS CodeBuild archives all build artifacts to your existing Amazon Simple Storage Service (Amazon S3) bucket.


Full build logs, including failed processes, are available in the AWS CodeBuild console.

AWS CodeDeploy then deploys your code to the staging environment. By default, the pipeline includes a manual approval stage before final deployment. Once the code is approved, AWS CodeDeploy deploys it to your production environment.


Before you implement this solution, you must have an Amazon Elastic Compute Cloud (Amazon EC2) key pair and an Amazon S3 bucket in the AWS Region where you will deploy the solution stack.