HumanGov: Implementation Of Git Repositories For Application And Infrastructure Code Using AWS Code Commit + Proof Of Concept (POC) Process Of Commit, Push And Revert Code Changes
In this project based on a real-world scenario, I implemented Git repositories for application and infrastructure code using AWS CodeCommit, and got hands-on experience with the Proof of Concept (PoC) process of commit, push, and revert code changes.
My mission was to set up a Git repository using AWS CodeCommit for HumanGov, a hypothetical Software as a Service for government organization.
Below are few screenshots:
HumanGov Logo
Created AWS Cloud9 for the humangov
Created humangov Infrastructure and Application on AWS CodeCommit
AWS Cloud 9
Cloned the environments on AWS Cloud 9
Created Developer 1 and Developer 2 for simulating the scenarios of the next tasks
Developer 1 cloned the humangov application
First commit and push to humangov application repository by Developer 1
AWS CodeCommit Commits section reflects that entry
Developer 1 makes a change to size of the header from h1 to h2, but while doing that he also mistakenly adds a letter W to the word Welcome
Did not notice that the word is WWelcome instead of Welcome and does a commit and push to the application repository.
The Commit logs reflects the above push made by Developer 1
This is noticed by the Manager, but the Developer 1 is not available as he is on vacation travelling while that wrong code is pushed to the humangov Production Application
Now the Manager lets the Developer 2 know about this and the second developer has to revert back the changes. He cannot just fix the word from WWelcome to Welcome as this scenario has only one small change. But in real-world situations, the Developer 1 might have made multiple changes in multiple files in different folders and there is no way for the Developer 2 to know all this. Hence the best option is do a Revert to a previous status before the Developer 1 has made changes so that the production users won't have any issues.
Developer 2 clones the application
Developer 2 does a Revert
The log documents that revert by a new hash
The html page comes back to previous good state of Welcome instead of WWelcome
the Developer 2 makes the change necessary for size of the header from h1 to h2 and makes sure not do the mistake what Developer 1 did and pushes it to the application repository.
The Revert and push by Developer 2 is reflected in the Commits section of AWS CodeCommit