Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Integration & Deployment

Continuous Integration & Deployment

Talk given at the LIPN about the Continuous Integration and Deployment

Jaime Arias Almeida

December 02, 2020
Tweet

More Decks by Jaime Arias Almeida

Other Decks in Programming

Transcript

  1. Continuous Integration &
    Deployment
    Jaime Arias
    December 2, 2020

    View Slide

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

    View Slide

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

    View Slide

  4. OVERVIEW
    4

    View Slide

  5. OVERVIEW
    5

    View Slide

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

    View Slide

  7. Gitlab CI/CD Pipeline
    7

    View Slide

  8. Gitlab CI/CD Pipeline
    8

    View Slide

  9. GITLAB-CI.YML
    1
    9

    View Slide

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

    View Slide

  11. Example
    2
    11

    View Slide

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

    View Slide

  13. COVERAGE
    2.1
    13

    View Slide

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

    View Slide

  15. BADGES
    2.3
    15

    View Slide

  16. ● 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

    View Slide

  17. PACKAGE &
    PUBLISH
    3
    17

    View Slide

  18. ● 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

    View Slide

  19. 19

    View Slide