Implementation of GIT Repositories for Application & Infrastructure Code using GitHub + Proof of Concept (PoC) for Commit, Push, and Revert Code Changes.

Lionell Jenious
4 min readNov 2, 2024

--

GIT, GITHUB, AWS CODE COMMIT — distributed version-control system & code repository

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.

Solution Architecture

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
Two distinct repositories on GitHub:

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
Configured Git Credential Helper on AWS Cloud9 — Cloned the human-gov-application repository into AWS Cloud9 for development
Configured Git Credential Helper on AWS Cloud9 — Cloned 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:
Configured AWS Cloud9 environment — Software Developer 1:

Step 2: Clone Repository and Creates Initial File:

Copied Repository: human-gov-application repository
Software Developer 1: Cloned Repository and Created Initial File
  • Create an index.html file: Software Developer 1
Software Developer 1:Created an index.html file:

Step 3: Add, Commit and Push Changes:

  • Add index.html to staging & commit
Added index.html to the staging area
  • committed index.html
committed blob file index.html
Added index.html to staging & committed

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.
Pushed the changes (with H1 to H2 Typo) to simulate error handling in version control.
Pushed changes to simulate error handling in version control -HASH d4d64ab

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:
Clone the human-gov-application repository
Prepare to Revert H1-H2 changes made by Software Developer 1 via Software Dev2 Terminal

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.

--

--

Lionell Jenious
Lionell Jenious

Written by Lionell Jenious

Cloud Software Network Engineer | AWS | AI/ML | Blockchain | Azure | Google Cloud | VMware | Cloud Computing | DevOps | Software Defined Networks SD-WAN

No responses yet