Course : Continuous integration: Best practices for implementation

Continuous integration: Best practices for implementation






INTER
IN-HOUSE
CUSTOM

Training at your location, our location or remotely

Ref. DIN
  3d - 21h00
Would you like to transpose this course—without changes—for your company?

Download in PDF format

Share this course by email






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

Course schedule

1
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.

2
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.

3
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).

4
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.

5
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.

6
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.

7
Setting up metrics

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

8
Feedback management

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


Dates and locations
Select your location or opt for the remote class then choose your date.
Remote class

Dernières places
Date garantie en présentiel ou à distance
Session garantie