Slide 1

Slide 1 text

Continuous Integration & Deployment Jaime Arias December 2, 2020

Slide 2

Slide 2 text

OVERVIEW CONTINUOUS INTEGRATION At every push, run a set of scripts to build, test, and validate the code changes. CONTINUOUS DELIVERY Extension of CI to automate the release process. Deploy the application can be done at any point of time by clicking on a button. CONTINUOUS DEPLOYMENT It goes one step further than continuous delivery. Every change that passes all stages of the production pipeline is released to the customers. It does not require human intervention at all. 2 CI CD CD

Slide 3

Slide 3 text

Q: Is the latest version deployed? A: I deployed animated gif support to production. Q: So animated gif support is released? A: The animated gif release is deployed. Q: ... 3

Slide 4

Slide 4 text

OVERVIEW 4

Slide 5

Slide 5 text

OVERVIEW 5

Slide 6

Slide 6 text

● Add a file at the root path of the repository. ● Define the scripts you want to run in the file. ● Once you push your commits, Gitlab detects the file and run the scripts with the tool called . ● Enable the Gitlab Runners in the project. Gitlab CI/CD Pipeline 6

Slide 7

Slide 7 text

Gitlab CI/CD Pipeline 7

Slide 8

Slide 8 text

Gitlab CI/CD Pipeline 8

Slide 9

Slide 9 text

GITLAB-CI.YML 1 9

Slide 10

Slide 10 text

● Docs: https://docs.gitlab.com/ee/ci/yaml/README gitlab-ci.yml 10

Slide 11

Slide 11 text

Example 2 11

Slide 12

Slide 12 text

● https://depot.lipn.univ-paris13.fr/training/ci Example 12

Slide 13

Slide 13 text

COVERAGE 2.1 13

Slide 14

Slide 14 text

● Docs: https://docs.gitlab.com/ee/user/project/merge_requests/test_covera ge_visualization.html Example 14

Slide 15

Slide 15 text

BADGES 2.3 15

Slide 16

Slide 16 text

● Docs: https://docs.gitlab.com/ee/user/project/badges.html ● Pipeline Status: https://depot.lipn.univ-paris13.fr/%{project_path}/badges/%{default_br anch}/pipeline.svg ● Coverage Report: https://depot.lipn.univ-paris13.fr/%{project_path}/badges/%{default_br anch}/coverage.svg Badges 16

Slide 17

Slide 17 text

PACKAGE & PUBLISH 3 17

Slide 18

Slide 18 text

● URL*: https://registry.lipn.univ-paris13.fr/ ● kaniko: https://github.com/GoogleContainerTools/kaniko#running-kaniko-in-docker ● Helper: https://depot.lipn.univ-paris13.fr/arias/docker-publisher LIPN Registry 18

Slide 19

Slide 19 text

19