Posts

CI/CD the Easy Way Using AWS CodePipeline | A Three-Part Series

Background HumanGov is a Model Automated Multi-Tenant Architecture (MAMA) that is meant to be used by the 50 states for personnel tracking. Currently the architecture is based upon containers orchestrated using Kuberntes via Amazon Elastic Kuberntes Services (EKS). The architecture is not ready for go-live. All actions so far are for a proof-of-concept that is presented to the Chief Technical Officer (CTO) for review. During the weekly team meeting, Ko (Lead User Experience Tester) reports seeing variance when testing different states. Kim (Lead Developer) reports that it is possible Ko is seeing that because the developers are deploying the state applications one-at-a-time, and this workflow does include testing, but it possible that the tests are not consistent, because the tests are run on an ad-hoc basis. Brady (Change Lead) reports that he has not seen any change requests for the application, so he wonders if that could have caught some of the unexpected variances? Lee (La...

3 of 3: CI/CD the Easy Way Using AWS CodePipeline

Image
This article is one of three (3) in a series: 1 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 1, you will use AWS CodePipeline to automate deployment of application changes. 2 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 2, you will use AWS CodePipeline to add a Testing stage to your pipeline. 3 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 3, you will use AWS CodePipeline to add Staging and Manual Approval stages to your pipeline. You will decommission the infrastructure once done, because this is only proof-of-concept. For background on this series, go here: CI/CD the Easy Way Using AWS CodePipeline | A Three-Part Series 1 of 16. [Cloud9] Provision Staging Environment using Terraform Add 'staging' to `human-gov-infrastructure/terraform/variables.tf'. Apply the Terraform configuration. human-gov-infrastructure/terraform/variables.tf variable "states" { description = "The list of state names...

2 of 3: CI/CD the Easy Way Using AWS CodePipeline

Image
This article is one of three (3) in a series: 1 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 1, you will use AWS CodePipeline to automate deployment of application changes. 2 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 2, you will use AWS CodePipeline to add a Testing stage to your pipeline. 3 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 3, you will use AWS CodePipeline to add Staging and Manual Approval stages to your pipeline. You will decommission the infrastructure once done, because this is only proof-of-concept. For background on this series, go here: CI/CD the Easy Way Using AWS CodePipeline | A Three-Part Series 1 of 10. [Cloud9] Create app.py and test_app.py. Create the 'human-gov-application/src/tests' folder. Inside the test folder, create the files 'app.py' and 'test_app.py'. Add 'pytest' to the 'requirements.txt' at 'human-gov-application/src' Note: There should b...

1 of 3: CI/CD the Easy Way Using AWS CodePipeline

Image
This article is one of three (3) in a series: 1 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 1, you will use AWS CodePipeline to automate deployment of application changes. 2 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 2, you will use AWS CodePipeline to add a Testing stage to your pipeline. 3 of 3: CI/CD the Easy Way Using AWS CodePipeline In part 3, you will use AWS CodePipeline to add Staging and Manual Approval stages to your pipeline. You will decommission the infrastructure once done, because this is only proof-of-concept. For background on this series, go here: CI/CD the Easy Way Using AWS CodePipeline | A Three-Part Series Prequisite 1 of 2. A Kubernetes cluster named `humangov-cluster` with at least one HumanGov Application state deployed running on Amazon EKS. If you need instructions for that, check the series on Kubernetes. If you followed my example from the Kubernetes article, you probably have a few pieces to re-do. I...