Course : Continuous integration: Best practices for implementation

Continuous integration: Best practices for implementation

Download in PDF format Share this course by email 2


Continuous integration is one of the key features of Agile methods. It seeks to ensure the quality and fluidity of the development cycle and the deployment of new releases. This training presents best practices and corresponding techniques for implementing it.


Inter
In-house
Custom

Practical course in person or remote class

Ref. DIN
Price : 2280 CHF E.T.
  3d - 21h00




Continuous integration is one of the key features of Agile methods. It seeks to ensure the quality and fluidity of the development cycle and the deployment of new releases. This training presents best practices and corresponding techniques for implementing it.

Teaching objectives
At the end of the training, the participant will be able to:
  • Understand the components and principles of continuous integration
  • Work with a version control manager
  • Understand the software's construction mechanisms and the corresponding Build tools
  • Configure a project on a continuous integration server.
  • Decipher the most common code analysis tool metrics
  • Comprehend the role of artifact repositories and configuration management

Intended audience
Project managers, developers, architectures.

Prerequisites
Basic knowledge of software development.

Course schedule

Introduction

  • Different types of environments: Development, acceptance, production.
  • Configuration management: System and application.
  • Role of application containers: Docker.
  • Configuration centralization: puppet, Ansible.
  • Scaling up deployments.
  • Setting up a continuous integration platform.

Version management

  • Features.
  • Different source managers: Centralized or distributed.
  • Problems integrating changes.
  • The role of branches and tags.
Hands-on work
Handling a Git repository.

Automating builds

  • What is a software build?
  • Builds: Project lifecycle.
  • Build tools with Maven.
  • Plug-ins, profiles, and modules.
Hands-on work
Setting up a simple project build (Maven).

Repository management

  • Roles of repository managers.
  • Types of repositories: public, internal.
  • Deliverable management (artifacts): releases, snapshots, deployment.
  • Organizing repositories: Development, testing, production.
  • Integrating repository managers with build tools and task management tools.
  • Example solutions: Nexus, Artifactory, etc.
Hands-on work
Publishing artifacts in Nexus.

Automating tests.

  • What tests, and to do what?
  • Testing environments.
  • Overview of testing tools.
  • Implementing and automating tests.
Hands-on work
Setting up automated tests with JUnit.

Continuous integration server

  • Role of the continuous integration server.
  • Major features.
  • Job management.
  • Dependency between jobs.
  • Servers: Hudson/Jenkins, CruiseControle, Bamboo, etc.
Hands-on work
Configuring the project on a Jenkins continuous integration server.

Setting up metrics

  • Generating reports.
  • Analysis and reporting tools (PMD, Findbugs, Cobertura, Emma, Checkstyle, etc.).
  • Publishing results.
Hands-on work
Setting up metric tools.

Feedback management

  • Managing a complete cycle.
  • Traceability of changes.
Hands-on work
Using Sonar.


Customer reviews
3,9 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.


Dates and locations
From 10 to 12 June 2024
FR
Remote class
Registration
From 16 to 18 September 2024
FR
Remote class
Registration
From 18 to 20 November 2024
FR
Remote class
Registration