Modern Python Projects Transcripts
Chapter: CI
Lecture: Continuous Integration (CI)

Login or purchase this course to watch this video and the rest of the course contents.
0:00 Both Tox and pre-commit requires you to do some manual work to use them.
0:04 You have to run Tox manually,
0:06 and you have to set up pre-commit, to use it with your local git repository
0:10 which is great because everything happens on your computer and you don't really depend on
0:16 any external services. But if you work with a team of people,
0:19 there are always some problems with this approach.
0:22 Some people forget to run Tox.
0:24 Others don't use the latest pre-commit configuration,
0:27 so they use the outdated set of checks and stuff like that.
0:31 So different approaches to run checks on the server that stores your code from every team member
0:37 servers like GitHub and GitLab.
0:40 Basically, each time someone creates a new pull request or merge request,
0:44 you run the same set of checks that Tox or pre-commit would do.
0:48 If they pass, you accept that pull request and if not,
0:52 your report an error and you ask that person to fix it.
0:56 This whole process is called continues integration,
0:58 and, as you might have guessed,
1:00 it can happen mostly automatically. Two popular tools to implement continues integration are GitHub
1:07 actions. For GitHub and GitLab CI.
1:09 or GitLab. But there are also many other paid external tools that
1:14 you can use. You can even set up your own CI server using the
1:18 open source tool like Jenkins. But in this course I will focus on GitHub actions
1:23 and GitLab CI, since there are free and built in into the most popular code hosting platforms.