• Responsible of the development team @ LIPN • Member @ Software/Source Codes College • Ambassador @ Software Heritage You can find me at: ͐ [email protected] Ì www.jaime-arias.fr Jaime Arias CI/CD at LIPN 2/42
permanent members: ◦ 1 apprentice, 1 IE, 2 IR • We host interns, engineers, and apprentices throughout the year ◦ 2nd year BUT (6 students) ◦ 3rd year BUT (1 student) ◦ 3rd year bachelor (1 student) • Hackaton one day per week Jaime Arias CI/CD at LIPN 3/42
permanent members: ◦ 1 apprentice, 1 IE, 2 IR • We host interns, engineers, and apprentices throughout the year ◦ 2nd year BUT (6 students) ◦ 3rd year BUT (1 student) ◦ 3rd year bachelor (1 student) • Hackaton one day per week • We code and learn a lot of things! Jaime Arias CI/CD at LIPN 3/42
• Give to the team the environment and support needed. • Working software is the primary measure of progress. • … Source: Roger S. Pressman, Bruce Maxim. Software Engineering: A Practitioner’s Approach. McGraw Hill Jaime Arias CI/CD at LIPN 4/42
member of a team merges its changes into a codebase (e.g. SCM) regularly • Each of these integrations is verified by an automated build to detect integration errors (e.g. tests) as quickly as possible Source: Atlassian. Gitflow workflow Jaime Arias CI/CD at LIPN 7/42
Less bugs (they are also cumulative) • Enables refactoring for sustained productivity • Allows to maintain a release-ready mainline Jaime Arias CI/CD at LIPN 8/42
changes are released (automatically) into the production environment. • Eliminates the gap between coding and customer value. Jaime Arias CI/CD at LIPN 9/42
platform. • It’s available as a community edition and a commercial edition. • It supports CI/CD pipelines (.gitlab-ci.yml). Jaime Arias CI/CD at LIPN 13/42
.gitlab-ci.yml is placed at the root of your project. • It specifies the stages, jobs, and scripts to be executed during the CI/CD pipeline. Jaime Arias CI/CD at LIPN 15/42
.gitlab-ci.yml is placed at the root of your project. • It specifies the stages, jobs, and scripts to be executed during the CI/CD pipeline. • The runners are agents that run the jobs. They can run on physical machines or virtual instances. Jaime Arias CI/CD at LIPN 15/42
and jobs: ◦ Stages define the order of execution: build, test, deploy, release, etc. ◦ Jobs specify the tasks to be performed in each stage, e.g. compile or test the code. Jaime Arias CI/CD at LIPN 16/42
and jobs: ◦ Stages define the order of execution: build, test, deploy, release, etc. ◦ Jobs specify the tasks to be performed in each stage, e.g. compile or test the code. • Pipelines can be triggered by various events, like commits or merges, or can be on schedule. Jaime Arias CI/CD at LIPN 16/42
by making values defined elsewhere accessible to jobs. • Use CI/CD component templates for common tasks and integrations. Jaime Arias CI/CD at LIPN 17/42
DATABASE PUBLICATION SERVICE ARXIV ADAPTER HAL ADAPTER REST API USER SERVICE REST API AUTHENTICATION SERVICE REST API API GATEWAY ROOM BOOKING SERVICE REST API BOOKING DATABASE LOAN OBJECTS SERVICE REST API LOAN DATABASE SVN SERVICE REST API Notes: - All the micro-services communicate with the “User Service”. OFFICE SERVICE REST API OFFICE DATABASE PURCHASE SERVICE REST API PURCHASE DATABASE Jaime Arias CI/CD at LIPN 27/42