Implementation of GIT Repositories for Application & Infrastructure Code using GitHub + Proof of Concept (PoC) for Commit, Push, and Revert Code Changes.
Introduction:
In this project, I utilized GitHub to establish repositories for both application and infrastructure code for a SaaS project named HumanGov. Originally, AWS CodeCommit was considered; however, as of July 25, 2024, AWS announced that CodeCommit is no longer available to new customers. Given this, I transitioned to GitHub, which is more aligned with industry standards and widely adopted. Below, I outline the tasks completed, challenges encountered, and technical approach used to implement a robust version control workflow reflecting real-world scenarios.
Project Overview:
Objective: To implement Git repositories for application and infrastructure code using GitHub and to simulate a PoC covering the commit, push, and revert process of code changes.
Use Case: HumanGov, a SaaS platform prototype for government organizations, required a secure, version-controlled repository setup to support collaborative development and precise code management for both application and infrastructure components.
Transition to GitHub: Due to AWS’s recent discontinuation of CodeCommit for new customers, GitHub was selected for repository management in this project. This aligns with industry standards and ensures better long-term viability and accessibility for repository management.
Project Task 1: Create Git Repositories on GitHub and Connect via AWS Cloud9
Hands-on Project: Version Control with Git and GitHub — Implementation. Step 1: Create Two Repositories on GitHub
- Set up two distinct repositories on GitHub:
- human-gov-application
- human-gov-infrastructure
Step 2: Configure Git Credential Helper on AWS Cloud9
- Configure the credential helper and global Git settings for user identity
Step 3: Clone Repositories
- Clone the human-gov-application repository into AWS Cloud9 for development
- Clone the human-gov-infrastructure repository into AWS Cloud9 for development
Project Task 2: PoC of Commit, Push, and Revert Code Changes Using AWS Cloud9
Role: Software Developer 1
Create and configure a Cloud9 environment to simulate Software Developer 1 working environment
Step 1: Set Up and Configure Environment for Software Developer 1:
- Configure AWS Cloud9 environment for Software Developer 1:
Step 2: Clone Repository and Creates Initial File:
- Create an
index.html
file: Software Developer 1
index.html
file:Step 3: Add, Commit and Push Changes:
- Add index.html to staging & commit
- committed index.html
Step 4: Introduce a Typo — Modify the HTML Header Tag from H1 to H2 and Push the Change:
- Push the changes to simulate error handling in version control.
Role: Software Developer 2
Create and configure a Cloud9 environment to simulate Software Developer 2 working environment
Step 1: Set Up and Configure Environment for Software Developer 2:
- Clone the human-gov-application repository
- Reverted the previous commit to correct the typo:
Key Takeaways and Results
This project successfully demonstrated the implementation of Git repositories in GitHub, along with hands-on experience in commit, push, and revert processes. The exercise underscored the benefits of version control in collaborative development environments, particularly within a simulated government SaaS context.
- GitHub Advantages: Leveraged GitHub as a widely adopted, secure, managed service for version control, providing enhanced accessibility and industry-standard alignment.
- Practical Git Experience: Practiced essential Git commands in realistic scenarios, enhancing proficiency in version control and error correction workflows.
- Collaboration Simulation: Demonstrated teamwork via separate Cloud9 environments, mimicking real-world multi-developer workflows.
Conclusion
The “HumanGov: Implementation of Git Repositories for Application and Infrastructure Code” project emphasized the importance of structured version control and error correction within development environments. By simulating a collaborative workflow and leveraging GitHub, this project validated the effective use of industry-standard version control practices in managing code for a government (Software as a Service) SaaS project.