Best Practices for Version Control and Release Management Using GitLab CI/CD
Authors/Creators
Description
Version control and release management are crucial for ensuring the stability, scalability, and efficiency of software development processes. GitLab CI/CD has emerged as a powerful platform that integrates continuous integration, continuous deployment, and comprehensive version control features in a single ecosystem. This paper explores the best practices for managing version control and releases using GitLab CI/CD, providing insights into branch management strategies, automation, and testing. It highlights GitLab’s capabilities to streamline collaboration, enhance workflow visibility, and ensure reliable software deployment. The discussion is grounded in well-established principles of DevOps and CI/CD practices, relevant to both small and large development teams.
Files
EJAET-9-11-141-146.pdf
Files
(291.5 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:1a53755f7fab73081796f7017822ac81
|
291.5 kB | Preview Download |
Additional details
References
- [1]. Vincent Driessen. "A Successful Git Branching Model." nvie.com, https://nvie.com/posts/a-successful-git-branching-model/.
- [2]. Blischak, J., Davenport, E., & Wilson, G. (2016). A Quick Introduction to Version Control with Git and GitHub. PLoS Computational Biology, 12. https://doi.org/10.1371/journal.pcbi.1004668.
- [3]. Gerlach, R., Rex, J., Lang, K., Neute, N., & Schwartze, V. (2020). Best Practice: Organization and Versioning of Source Code. . https://doi.org/10.5281/ZENODO.3741315.
- [4]. Eraslan, S., Kopec-Harding, K., Jay, C., Embury, S., Haines, R., Ríos, J., & Crowther, P. (2020). Integrating GitLab metrics into coursework consultation sessions in a software engineering course. J. Syst. Softw., 167, 110613. https://doi.org/10.1016/j.jss.2020.110613.
- [5]. GitLab Inc. "CI/CD Pipeline Configuration." GitLab Documentation, GitLab, https://docs.gitlab.com/ee/ci/pipelines/.
- [6]. Atlassian. "Trunk-Based Development vs. GitFlow." Atlassian DevOps Documentation, https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development.
- [7]. GitLab Inc. "GitLab Release Notes and Automation." GitLab Documentation, GitLab, https://docs.gitlab.com/ee/ci/release_notes/.
- [8]. Martin Fowler. "Continuous Integration." martinfowler.com, https://martinfowler.com/articles/continuousIntegration.html.
- [9]. Jez Humble and David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley, 2010.
- [10]. Kief Morris. Infrastructure as Code: Managing Servers in the Cloud. O'Reilly Media, 2016.
- [11]. Nandgaonkar, S., & Khatavkar, V. (2022). CI-CD Pipeline For Content Releases. 2022 IEEE 3rd Global Conference for Advancement in Technology (GCAT), 1-4. https://doi.org/10.1109/GCAT55367.2022.9972129.
- [12]. Sethi, F. (2020). AUTOMATING SOFTWARE CODE DEPLOYMENT USING CONTINUOUS INTEGRATION AND CONTINUOUS DELIVERY PIPELINE FOR BUSINESS INTELLIGENCE SOLUTIONS. . https://doi.org/10.22541/au.160373745.57814465/v1.