MaruOpsInfrastructure and AI notes

About (Korean)Contact (Korean)

Git and GitOps Series: Installation, Local Servers and CI/CD

This is part 24, starting with the initial installation of Git and moving on to collaboration, local servers, CI/CD, and GitOps operations. Instead of memorizing commands, I organized them in order of checking when to use them and what changes. Simply select the installation version of your operating system among Windows 11, Rocky Linux 9, or Ubuntu 24.04 and then join the common practice.

If your purpose is personal change management, you can use parts 1 to 13, and if you need an in-house Git server, you can use parts 14 to 16. Starting with Part 17, we connect test automation, and from Part 20 onwards, we cover deployment status and recovery for readers who know Kubernetes.

Environment to prepare first

In the beginning, you only need one PC to install Git. Common Bash examples run from a Linux terminal or Windows Git Bash. Commands specific to PowerShell are marked separately. Replace the example address and name with your own values, but do not put your actual password or private key in the storage.

Local servers require a Linux VM separate from existing services, CI requires a GitHub or Jenkins execution environment, and GitOps requires a decommissionable Kubernetes cluster. Configurations that sequentially run installation commands to a production server are not the lab environment for this series.

Step 1 · Concept and installation by operating system

Step 2 · Change history and branches

Step 3 · Remote collaboration and release

Step 4 · Restore with local Git server

Step 5 CI/CD connection

Step 6 GitOps and Operations

Download the example file and continue practicing

Git·GitOps Example ZIP Download contains Python code and tests, GitHub Actions, Jenkinsfile, Gitea Compose and backup scripts, Argo CD definitions, deployment YAML, and local encryption examples. It does not include your actual password and private key. The location of each file and preparation conditions are described in README.txt in the ZIP.

The Python app is an example to learn Git and CI, and the Kubernetes deployment is an official nginx image to check state coordination. Do not interpret the two examples as if the image build and deployment of the actual app were already connected. Connection points when expanding to actual services are discussed in Parts 19 and 24.

Confirmed scope and application criteria

The official documentation and release confirmation date is October 18, 2026. We distinguished between items with execution results and items for document/static review. The patch version and service screen of the package may vary at the time of installation.

targetActual confirmation range
Rocky Linux 9 · Git 2.52.0Package installation in container, restore·conflict·merge·revert·tag·bare remote·push rejection·rebase·bundle
Ubuntu 24.04 · Git 2.43.0Same Git scenario and Python normal/error input test, stopping packaging in case of failure
Gitea 28.1.0 · PostgreSQL 17Web installation in separated Compose, authenticated HTTP clone·push, DB·volume backup, and file consistency check after restoration of new project
SOPS 3.13.3 · age 1.3.2Verification of official distribution files and encryption/decryption of example values round trip
Windows 11Review of official installation/command documents. Windows GUI launch no confirmation
GitHub Actions · JenkinsReview settings and commands, check local test/ZIP creation. No actual hosted pipeline execution
Kubernetes · Argo CD 3.5.5Check official installation file/image digest, check YAML syntax/source/target consistency. No actual cluster deployment

Restoration tests including Gitea’s LFS, external object storage, attached files, and SSH transmission must be confirmed in a separate environment. The replica and resource values ​​in the example are starting values ​​for learning purposes only and are not performance measurement results. Proceed by comparing the failure symptoms and confirmation points for each piece in your own environment.

Good article to read together

Jenkins’ first Pipeline complements the process of connecting controllers, agents, and repositories. At the end of each article, I’ve linked the official sources for the commands and settings. Representative photos are reference materials to describe the work environment and do not serve as photographic evidence of practice equipment or execution results.