This lesson is in the early stages of development (Alpha version)

Continuous Integration / Continuous Development (CI/CD): Introduction


This assumes that you’ll have some basic background with your command line, for example:

  1. How to execute custom shell scripts
  2. How to run python scripts

as well as having gone through all previous sessions in this workshop.


You’ve have recently learned about CI/CD through GitHub and Travis CI. In ATLAS we use uses GitLab to host our code. GitLab is bundled with a built-in CI/CD system that we’ll learn how to develop on to make our code robust to errors, preserved, and reproducible.

The aim of this module is to:

The skills we’ll focus on:

  1. Making scripts exit correctly
  2. Building a CI/CD workflow of unlimited potential
  3. Understanding how job runners work (and get access to your clones)
  4. The GitLab permissions model
  5. Protecting secret information while allowing jobs to run


Setup Make sure works for you, now!
00:00 1. Introduction What is continuous integration / continuous deployment?
00:05 2. Exit (light) Codes What is an exit code?
00:25 3. Being Assertive What happens with assertions in python?
00:35 4. Understanding Yet Another Markup Language What is YAML?
00:40 5. YAML and CI What is the CI specification?
00:45 6. Coffee break! Get up, stretch out, take a short break.
01:00 7. Hello CI World How do I run a simple CI job?
01:15 8. Handling Your Clones How are repositories cloned?
01:30 9. Adding CI to Your Existing Code I have code already in GitLab, how can I add CI to it?
01:45 10. Coffee break! Get up, stretch out, take a short break.
02:00 11. Eins Zwei DRY How can we make job templates?
02:15 12. All the World's a Stage How do you make some jobs run after other jobs?
02:25 13. Run Analysis in CI/CD How can I run my code in the CI/CD?
02:50 14. Getting into the Spy Game How can I give my CI job private information?
03:05 15. Let's Actually Make A Test (For Real) I’m out of questions.
I’ve been here too long. Mr. Stark, I don’t feel too good.
03:35 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.