04.09.2024 –, Raum C
This interactive workshop is designed to equip you with the skills to set up and automate a GitLab CI pipeline from scratch. Suitable for both beginners and those with some experience, this session will focus on implementing continuous deployment for applications combining backend technologies (Java or Python) and frontend frameworks (React or Angular with TypeScript). Key topics include branch management, job dependencies, artifact handling, parallel execution, and environment variables. You will also learn to enforce best practices in software development such as static code analysis, secret scanning, and automated version control. By the end of the workshop, you will have a functional, fully automated CI/CD pipeline in your repository, with a clear understanding of how to extend and optimize it.
Whether you are a beginner or have some experience, we will set up GitLab CI from scratch in a repository without CI step by step using an example. Depending on the previous knowledge of the participants, this can be an application with a backend in Java or Python and a frontend using React or Angular with TypeScript. The knowledge conveyed in this workshop can be applied to any technology, though. The focus is on showing best practices so that every person can understand every part of it and leave no questions unanswered.
Apart from basic concepts like branch management, stages, jobs and dependencies between jobs, artifacts, parallelization, and environment variables, the following aspects will be automated:
- Build, test and deployment
- Enforcing good development practices (for example static code analysis, code formatting, secret scanning, style guides and commit guidelines)
- Release process including automated version bumps using semantic versioning and changelog generation
- Update of dependencies
Ideally, the workshop will be interactive, where the focus will be tailored to the needs and interests of the participants.
People who previously developed software in a git repository, but never set up GitLab or a different CI or do not have a lot of experience with it. Software and DevOps engineers who want to go from continuous integration to continuous deployment.
Kursziel:All workshop participants have a fully automated GitLab CI pipeline using continuous deployment setup in their repository and understand how it works and how it can be extended further.
Voraussetzungen:- Git knowledge (clone, commit, push, pull, branch, merge, tag) required
- Knowledge in working with YAML formats is preferred, alternatively JSON or XML knowledge is beneficial
- Experience in using (not setting up) CI tools is beneficial
- Experience in deployment of software is beneficial (preferably under Linux)
- Basic knowledge of Docker containers and networks is beneficial
- Theoretical knowledge of concepts like continuous integration / continuous deployment is beneficial
- Laptop with internet
- Recent browser like Chrome or Firefox
- IDE (IntelliJ IDEA will be shown)
- Account for GitLab.com
- Git installed and set up with authentication for the GitLab account (SSH key authentication recommended)
- JDK / Python / Node.js / Docker installations are beneficial
This hands-on workshop is about starting from scratch in a GitLab repository and slowly building up together part by part a fully-fledged continuous deployment pipeline using GitLab CI.
François Martin is a senior full stack software engineer at Karakun AG, living in Switzerland. He is an active open source contributor and co-author of the two open source JavaFX frameworks WorkbenchFX and PreferencesFX, an active member of the Swiss Testing Board and he participates in the working group of Advanced and Expert level at ISTQB.