Below you will find pages that utilize the taxonomy term “CI/CD”
2023
[Home Lab] GitLab Setup: Installation, Migration, and CI/CD Simplified
Discover a streamlined approach to GitLab installation, repository migration, and CI/CD optimization. This comprehensive guide covers setting up GitLab in your home lab, upgrading to the latest version, configuring external URLs, and migrating repositories. Learn how to install GitLab Runner, Docker, and seamlessly integrate them into your development workflow. The guide concludes with optional steps for registering GitLab Runner as a service. Elevate your version control and continuous integration experience with this concise and practical tutorial.
2021
[Raspberry Pi] CI/CD Pipeline on Pi Cluster (IV)
In the fourth part of my Raspberry Pi CI/CD pipeline series, I integrated SonarQube into the workflow for continuous code quality and security. I installed SonarQube on my Raspberry Pi Cluster, utilizing a custom Docker image. Additionally, I replaced Gitea with Gitlab for enhanced compatibility with SonarQube. I built and deployed Gitlab on the cluster, managing persistent storage with Longhorn volumes. For seamless integration, I configured Gitlab settings, created a Jenkins user, and set up access tokens. Lastly, I prepared Jenkins by installing necessary plugins and establishing connections with Gitlab. The result is an extended CI/CD pipeline with SonarQube, Jenkins, and Gitlab on a Raspberry Pi Cluster.
2021
[Raspberry Pi] CI/CD Pipeline on Pi Cluster (III)
In the third part of my Raspberry Pi CI/CD pipeline series, I incorporated JFrog Container Registry. Following the previous guide, I installed the registry, configured Docker images, and set up Longhorn volumes. Configuring the JFrog Container Registry involved adding local repositories, setting permissions, and configuring HTTP settings. I demonstrated testing the registry with Docker login and pushing an image. For Kubernetes integration, I created registry secrets and updated deployment files. The result is a complete CI/CD pipeline on a Raspberry Pi Cluster with JFrog Container Registry supporting Docker images. Optional Jenkins configuration is provided for maven-agent support.
2021
[Raspberry Pi] CI/CD Pipeline on Pi Cluster (II)
In the second installment of my Raspberry Pi CI/CD pipeline series, I seamlessly integrated JFrog Artifactory. Following the groundwork laid in [Part I], I extended the pipeline by configuring Maven-agent for Longhorn volume mounting, building a Raspberry Pi-compatible Artifactory Docker image, and configuring Artifactory. I demonstrated the process of creating permissions, Maven settings, and deploying JAR files. The integration with Jenkins involved plugin installation, settings configuration, and Jenkinsfile creation for artifact deployment. The result is a robust CI/CD pipeline on a Raspberry Pi Cluster, efficiently deploying artifacts to Artifactory. Troubleshooting tips address Longhorn volume stability and Jenkins volume permission issues.
2021
[Raspberry Pi] CI/CD Pipeline on Pi Cluster (I)
In this series, I documented my journey building a CI/CD pipeline on a Raspberry Pi Cluster, featuring 3 master and 1 worker nodes, all housed in a custom LEGO structure. The setup includes tools like Metallb for load balancing, along with specific volumes for MySQL, Gitea, Jenkins, and Maven-agent. I detailed the installation processes for MySQL, Gitea, Jenkins, and Maven-agent, complete with YAML deployment files. The configuration steps for Jenkins, both for Kubernetes and Gitea integration, were outlined. The troubleshooting section covers issues related to Kubernetes connection errors and finding the Jenkins initial admin password. The final result showcases a functional CI/CD pipeline: when code is committed, it triggers the CI pipeline, with the Maven-agent building and compiling the code successfully.