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

Happy CommIting! - GitLab CI/CD with Python by André Alexandre Gomes

Happy CommIting! - GitLab CI/CD with Python by André Alexandre Gomes

DevOpsPorto

August 08, 2019
Tweet

More Decks by DevOpsPorto

Other Decks in Programming

Transcript

  1. Happy CommIting! - GitLab CI/CD with Python
    André Alexandre Gomes1
    August 13, 2019
    [email protected]

    View full-size slide

  2. Abstract
    Russ Cox said “Software engineering is what happens to
    programming when you add time and other programmers”.
    André Gomes in his presentation will show you how GitLab
    CI/CD can help you to advance from programmer to software
    engineer by integrating and delivering software, including, but
    not limited to Python packages.

    View full-size slide

  3. (Rhetorical) Question
    Greetings!
    What’s the difference between programming and software
    engineering?

    View full-size slide

  4. (Rhetorical) Question
    Russ Cox says:
    Software engineering is what happens to programming when you
    add time and other programmers.

    View full-size slide

  5. Programming, Time and People
    Things get updated.
    Requirements change over time.
    People change jobs/projects.

    View full-size slide

  6. Programming, Time and People
    Being agile and releasing often matters.
    Testing matters.
    Code readability matters.
    Software development is a social effort that needs to me managed
    over time.

    View full-size slide

  7. CI/CD
    Continuous Integration (CI)
    Continuous Delivery (CD)
    Continuous Deployment (CD)

    View full-size slide

  8. Less jargon, please!
    CI/CD can be thought of as Happy CommIting!
    Pushing changes to a remote repository triggers safety belts, such
    as:
    does it pass the tests?
    does it compile?
    is the code properly formatted?
    . . .

    View full-size slide

  9. Cool, but how to. . . ?
    Today we will be looking at GitLab CI/CD.
    "Safety belts" are stages.
    A set of stages is a pipeline.

    View full-size slide

  10. Demo
    Let’s start simple and fast forward boring steps.
    Here’s the source code of a Hello World program (Python).
    Here’s the yaml file.
    Here are the pipelines.

    View full-size slide

  11. Conclusions
    Managing time and the social side of software development is key!
    A CI/CD mindset sets you apart from being just a programmer.
    Start integrating and deploying those python packages!

    View full-size slide

  12. Thank you!
    Questions?
    Slides available at
    https://gitlab.com/aadcg/happy_commiting.
    Licensed under the GNU Free Documentation License (copyleft).
    I’m looking for new projects and challenges!

    View full-size slide