Jenkins Pipeline as Code in Practice

Overview Pipeline as Code is the watershed moment when Jenkins evolved from “drag-and-drop configuration” to “code-driven.” Defining pipelines in a Jenkinsfile under Git version control means every pipeline change has a diff to review, a history to trace, and a branch to roll back. This article systematically covers Pipeline as Code practices, from Jenkinsfile syntax to production-grade pipeline design. Reference: Jenkins Pipeline Official Documentation I. Jenkinsfile Syntax 1.1 Declarative vs. Scripted Jenkins Pipeline has two syntax styles:...

July 29, 2024 · 17 mins · 3551 words · ABao

GitOps Workflow: ArgoCD in Practice

GitOps Core Principles GitOps is a modern continuous delivery methodology introduced by Weaveworks in 2017. It uses Git as the Single Source of Truth for infrastructure and application configuration, achieving continuous deployment through declarative practices. According to the ArgoCD documentation, GitOps follows four core principles: 1. Declarative System Infrastructure and application configurations are stored in Git as declarative descriptions (YAML/Helm/Kustomize): # Example Git repository structure infra-repo/ ├── apps/ │ ├── frontend/ │ │ ├── deployment....

July 22, 2024 · 8 mins · 1690 words · ABao

CI/CD Pipeline Design: GitHub Actions in Practice

CI/CD is the lifeblood of modern software delivery. Manual builds and deployments are not only inefficient but also breeding grounds for incidents — the “works on my machine” tragedy almost always stems from a lack of automated pipelines. As GitHub’s native CI/CD platform, GitHub Actions integrates seamlessly with code repositories, offers generous free tiers for open-source projects, and has become one of the most popular CI/CD tools. This article starts from core concepts and walks through two practical scenarios — a Go project and a Hugo site — to comprehensively explain pipeline design....

March 7, 2024 · 12 mins · 2388 words · ABao