Development

This page provides an overview of the software development tools and platforms I use in my homelab. These tools help me manage my code, automate processes, and ensure the quality and security of my applications. Below, you'll find details about GitLab, Harbor, and SonarQube, which are integral to my development workflow.


GitLab Logo

GitLab

GitLab is my primary platform for version control and collaboration on software projects. It provides a robust set of tools for managing code repositories, issue tracking, and continuous integration/continuous deployment (CI/CD) pipelines. With GitLab, I can easily collaborate with others, track changes to my code, and automate the deployment of applications. I self host GitLab to maintain control over my code and ensure data privacy. I'm currently up to 53 repositories, which include personal projects, scripts, and tools that I use in my homelab. This website is an example of one of these projects.


Harbor Logo

Harbor

Harbor is my container image registry, providing a secure and efficient way to store and manage Docker images. It integrates seamlessly with my CI/CD pipelines, allowing me to push and pull images easily. Harbor supports role-based access control, ensuring that only authorised users can access specific images. This helps me maintain a clean and organised repository of container images for my applications.


SonarQube Logo

SonarQube

SonarQube is my code quality and security analysis tool. It helps me identify potential issues in my codebase, such as bugs, vulnerabilities, and code smells. By integrating SonarQube into my CI/CD pipelines, I can ensure that my code meets high standards of quality and security before it is deployed. This is especially important for maintaining the reliability and performance of my applications.