Implementation of the Continuous Integration / Continuous Delivery (CI/CD) process using GitLab CI Training Course
In the era of very rapid development of technology and an increasing number of frameworks, efficient optimization of the development process becomes crucial. The development team should be able to focus on writing solid code, while the rest of the processes related to automatic builds, tests and deployment should be carried out with a minimum number of manual steps to be performed.
After implementing Continuous Integration / Continuous Delivery (CI/CD) and deployment automation processes, companies can achieve savings in developer time of an additional 20-30%, which they can use for writing code, rather than secondary activities related to deployment or testing.
The training will allow participants to learn the logic of CI/CD operation, as well as acquire the ability to independently configure such an environment. During the training, participants will receive a starter package of configuration files and examples of working process automation DevOps.
We invite people who program mainly web applications to the training - because the most important thing here is to optimize the process.
The training is based on software GitLab, which is becoming more and more popular in Polish and global companies.
Course Outline
Day 1
Introduction
- DevOps - newspeak or a key role in IT projects?
- Why GitLab CI/CD?
- GitLab vs. other CI/CD systems (CircleCI, Travis, TeamCity)
Preparing for launch
- Architecture and logic of the solution including: GitLab / GitLab Runner
- System and hardware requirements
- Installing GitLab and GitLab CI
- Initial configuration GitLab: design, users, integrations, preparation for launching the first Continuous Integration
API tuning and preparation
- Optimizing settings GitLab / GitLab CI: tips'n'tricks
- Preparing API for use in trigger mechanisms
First CI/CD process
- Installation GitLab CI Runner, system and hardware requirements
- Configuring the project to connect to GitLab CI
- Starting a typical process: build -> test -> deploy
Day 2
Construction of the .gitlab-ci.yml configuration file
- Practical examples of concepts:
- Environments & deployments
- Protected environments
- Job artifacts
- Deploy via Docker
- Variables that can be used in the YML configuration file
- Logical constructions: only, except, when, alllow_failure, dependencies, retry
Trigger pipeline: how to trigger tasks via API?
How GitLab CI makes developers' lives easier
- Calculation of % test coverage
- Status of builds in MarkDown documents
- Sending build statuses in messenger (Mattermost example)
Advanced capabilities GitLab CI
- AutoDevOps
- Clusters Kubernetes
- Deploy boards
- ChatOps
- Web terminal
Live case study
- build, test & deploy for a project based on PHP/Magento, running in a multi-server environment, assuming zero downtime during deployment.
Requirements
Basic ability to use GIT
Basic programming skills, e.g. in PHP.
Open Training Courses require 5+ participants.
Implementation of the Continuous Integration / Continuous Delivery (CI/CD) process using GitLab CI Training Course - Booking
Implementation of the Continuous Integration / Continuous Delivery (CI/CD) process using GitLab CI Training Course - Enquiry
Implementation of the Continuous Integration / Continuous Delivery (CI/CD) process using GitLab CI - Consultancy Enquiry
Consultancy Enquiry
Testimonials (4)
Trainer has in depth experince and well narreated in deed. The depth of the knowledge and the passion for teaching is highly appriciated.
Anup Kumar - SMR Automotive Mirrors Stuttgart
Course - Jenkins 2: Building CI/CD Pipelines
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
Course - DevOps Practical Implementation and Tools
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
Course - Advanced Spinnaker
All of it. Having had no previous exposure to Jenkins, I was a little concerned about my ability to keep up. IPad provided appropriate coaching/support, when I asked for help, so that I was able to follow the presentation at a level I was happy with.
Graham Congdon
Course - Jenkins: Continuous integration for Agile development
Provisional Courses
Related Courses
Advance Test Automation in Java using Selenium with continuous integration and version control
35 HoursBy the end of this training, participants will be able to:
- Install and configure Maven.
- Automate Testing using Selenium
- Managing GIT
- Integrating continous integration
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Advanced Spinnaker
14 HoursThis instructor-led, live training in Poland (online or onsite) is aimed at engineers who wish to use Spinnaker to frequently and continuously deploy software to AWS or Kubernetes.
By the end of this training, participants will be able to:
- Install and configure Spinnaker for advanced operations.
- Integrate Spinnaker with existing continuous integration tools such as Jenkins.
- Understand Spinnaker's internal architecture and deployment workflow constructs.
- Create pipelines for deploying software on Kubernetes.
- Create pipelines for deploying software on AWS.
- Troubleshoot common Spinnaker issues.
Argo CD
7 HoursThis instructor-led, live training in Poland (online or onsite) is aimed at system administrators and developers who wish to use Argo CD to automate the deployment and lifecycle management of applications.
By the end of this training, participants will be able to automate, monitor, audit, and roll back their Kubernetes systems using Argo CD.
Continuous Integration for JavaScript
14 HoursContinuous Integration (CI) is a development practice wherein developers merge changes in their code as often as possible in order to detect and locate errors quickly.
In this instructor-led, live training, participants will learn the basics of Continuous Integration for JavaScript as they step through setting up a Continuous Integration process for a JavaScript project.
By the end of this training, participants will be able to:
- Understand the fundamentals of Continuous Integration
- Build their own Continuous Integration system for their JavaScript projects
Audience
- Developers
- IT Professionals
- DevOps Engineers
- Business Managers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
DevOps Practical Implementation and Tools
21 HoursThis course focuses on practical implementation and tooling. It assumes good knowledge on theoretical principals (see DEVOPS course) as it focuses on newest tools and methods of implementing DevOps principles.
Docker and Jenkins for DevOps
14 HoursThis instructor-led, live training in Poland (online or onsite) is aimed at DevOp engineers who wish to optimize and simplify the CI/CD process with Docker and Jenkins.
By the end of this training, participants will be able to:
- Automate code delivery and pipeline deployment with Jenkins.
- Build an application using Docker and Docker File.
- Configure authentication options to strengthen security.
Jenkins: Continuous Integration for Agile Development
14 HoursThis instructor-led, live training in Poland covers the concepts, tools and techniques needed to carry out continuous integration of your software projects in an Agile environment. Participants carry out a series of hands-on exercises throughout the course to apply their knowledge in real situations. Interaction among instructor and participants is encouraged. Real-world cases are discussed and specific issues and questions are addressed and resolved in class.
Jenkins 2: Building CI/CD Pipelines
14 HoursThis instructor-led, live training in Poland (online or onsite) is aimed at engineers who wish to use Jenkins 2 to build pipelines that automate the process of moving an application from development to production.
By the end of this training, participants will be able to:
- Install and configure Jenkins 2.
- Adopt a script approach to automating every step of the software deployment process.
- Automatically generate application builds when software is checked into a version control system.
- Automatically kick off the compiling, testing, and packaging of a software application.
- Quickly respond to notifications and reports when things go wrong.
- Install additional plugins to extend Jenkins.
Jenkins Advanced
14 HoursThis instructor-led, live training in Poland (online or onsite) covers advanced Jenkins configurations, security, and scaling techniques, and is aimed at DevOps engineers and software architects who wish to gain expertise in customizing Jenkins for complex software projects.
By the end of this training, participants will be able to:
- Optimize Jenkins for enterprise-level software projects.
- Implement advanced security measures.
- Build complex and scalable pipelines.
- Troubleshoot and maintain Jenkins installations effectively.
Jenkins for .Net Continuous Integration (CI)
14 HoursWhen developers finish writing a piece of code, they often integrate their code into an application, copy the application into a folder, run the application installer, then initialize the application to check whether it runs as expected. This manual approach does not scale very well, is tedious, very error-prone and offers no mechanism for tracking changes during the process.
A better approach would be to automate the process using Continuous Integration. Continuous Integration refers to the processes, tools and infrastructure needed to automate the building, deployment and testing of software applications.
In this instructor-led, live training (onsite or remote), participants will learn how to transform a traditional, manual (or semi-manual) approach to software deployment into an agile, Continuous Integration (CI) one using Jenkins. Participants carry out a series of hands-on, live-lab exercises throughout the course, applying their new knowledge to various software development and deployment problems every step of the way. Interaction among the instructor and participants is encouraged. Real-world cases are discussed and specific issues and questions are addressed and resolved throughout the training. The training is especially focused on .Net application development.
By the end of this training, participants will be able to:
- Install and configure Jenkins for .Net application development
- Use Jenkins to automate the process of checking in and merging .Net source code into a code repository
- Use Jenkins to automate the process of downloading, compiling and deploying an application to a release server
- Integrate Jenkins with other software development tools such as issue trackers and
Audience
- .Net developers
- Build engineers
- QA engineers
- Project managers
- Release managers
- DevOps engineers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- To request a customized training for this course, please contact us to arrange.
Jenkins Fundamentals
14 HoursThis instructor-led, live training in Poland (online or onsite) covers the fundamental concepts and usage of Jenkins, and is aimed at software developers and DevOps engineers who wish to set up Jenkins, create and configure jobs, and automate key aspects of the software development process.
By the end of this training, participants will be able to:
- Understand the principles of continuous integration and continuous delivery (CI/CD).
- Install and configure Jenkins for software automation.
- Create and manage Jenkins jobs for building and testing applications.
- Set up and customize automated pipelines for software deployment.
Continuous Integration with Jenkins and Maven
21 HoursJenkins is an open-source continuous integration (CI) tool written in Java. Maven is a build automation tool for Java projects. Together they can be used to trigger continuous builds that include, for example: the execution of JUnit tests whenever a new code is committed, deployment of these builds to production, and scheduling of these tasks at strategic times of the day, for example midnight. These tools and processes make up a DevOps approach to the development and deployment of software and are popular in Agile development.
In this instructor-led, live training, participants will start with an introduction to DevOps, version control and automation scripting, and then move on to hands-on practice, learning how to install, configure and deploy Jenkins and Maven in a live lab environment.
Audience
- Developers
- System Administrators
- DevOps engineers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
SonarQube for DevOps
14 HoursThis instructor-led, live training in Poland (online or onsite) is aimed at DevOps engineers and developers who wish to use SonarQube to run code reviews that are fully-integrated into development tool chains, such as Jenkins, GitHub, Azure DevOps, etc.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start running automatic code reviews.
- Integrate SonarQube with continuous integration tools, such as Jenkins, Azure DevOps, etc.
- Run continuous code inspections to eliminate bugs and security vulnerabilities.
- Collect and analyze data to drive improvements for code cleanup, maintenance, and security.