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 full-size 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 full-size 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 full-size slide

  4. ● 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 full-size slide

  5. Gitlab CI/CD Pipeline
    7

    View full-size slide

  6. Gitlab CI/CD Pipeline
    8

    View full-size slide

  7. GITLAB-CI.YML
    1
    9

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  10. COVERAGE
    2.1
    13

    View full-size slide

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

    View full-size slide

  12. ● 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 full-size slide

  13. PACKAGE &
    PUBLISH
    3
    17

    View full-size slide

  14. ● 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 full-size slide