Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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.

Slide 11

Slide 11 text

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!

Slide 12

Slide 12 text

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!