| type | slide | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| slideOptions |
|
- Name and explain common workflows to automate in RSE.
- Explain the differences between the various continuous methodologies.
- Explain why automation is crucial in RSE.
- Write basic automation scripts for GitHub Actions.
- Read basic automation scripts for GitLab CI/CD.
- Name and roughly explain the necessary steps to host GitLab Runners yourself.
- Automatize tasks
- Run tests frequently, give feedback early etc.
- Ensure reproducible test environments
- Cannot forget automatized tasks
- Less burden to developer (and their workstation)
- Avoid manual errors
- Process often integrated in development workflow
- Example: Support by Git hooks or Git forges
- Check code formatting and quality
- Compile and test code for different platforms
- Periodically run tasks
- Big tests, nightly builds...
- Build documentation and deploy it
- Generate coverage reports and visualization
- Build, package, and upload releases
- Continuous Integration (CI)
- Continuously integrate changes into "main" branch
- Avoids "merge hell"
- Relies on testing and checking code continuously
- Should be automatized
- Continuous Delivery (CD)
- Software is in a state that allows new release at any time
- Software package is built
- Actual release triggered manually
- Continuous Deployment (CD)
- Software is in a state that allows new release at any time
- Software package is built
- Actual release triggered automatically (continuously)
- GitHub Actions
- GitLab CI/CD
- Jenkins
- Woodpecker CI (e.g., in Codeberg)
- Circle CI
- Travis CI
- ...