GitLab CI Module - Mario Mora
Title: "GitLab CI Module - your-name"
Tackle stage 1 first and the last stage last, but the others can be completed in any order you prefer.
Goal of this checklist: Set a clear path for GitLab-CI training
Stage 1: Commit and Become familiar with what GitLab CI is
-
Done with Stage 1
-
Ping your manager on the issue to notify them you have started -
Commit to this by notifying the current experts that they can start routing non-technical GitLab CI questions to you -
Commit to this by adding it to your knowledge areas by updating the Support Team yaml file. -
GitLab University -
Getting started with GitLab and GitLab CI. Read the articles from Introduction to GitLab CI/CD section. -
The Basics of GitLab CI -
Continuous Integration, Delivery, and Deployment with GitLab -
10 Things to Know About GitLab CI -
GitLab Container Registry -
GitLab & Docker - Recording
-
-
CI Training Video by Jose Tores - Slides - Example App -
CI Backend Architecture walkthrough video | Diagram - watch to learn how everything connects together.
Stage 2: Basic CI
-
Done with Stage 2
-
Read the Table Of Contents for the .gitlab-ci.yml docs and make sure you know the meaning of every heading. -
Set up a repository on GitLab.com and create a .gitlab-ci.yml file to get a pipeline running using the free shared runners on GitLab.com (this can be a basic toy project). -
Note that your builds may show as Pending until a shared runner becomes available (the next step will solve this). -
Install your own Runner (locally or hosted somewhere) following the Setup Instructions -
Read about the different Executors -
Register your runner as a Specific Runner on your project, and test that it now runs the builds for your project. -
Create an example project on your own GitLab instance. -
Register a shared runner on your GitLab instance and make sure it can successfully run the build for your project. -
Optional, for GitLab.com: Watch this video on ways to troubleshoot runner on GitLab.com. Refer to this issue for questions and links. Note: As it was recorded August 2018, some links may be out of date.
Stage 3: Intermediate CI
-
Done with Stage 3
-
Read about Pipelines and Jobs. -
Check how to see the status of Pipeline and Jobs. -
Read about using Docker Images with GitLab CI. -
Register a Docker Runner and change your .gitlab-ci.yml
to use a Docker image for your language of choice. -
Read about Artifacts. -
Change .gitlab-ci.yml
to create artifacts. -
Set the Maximum Artifacts size in Admin and create artifacts above the limit, then check the build log for errors. -
Read about Multi-project pipelines. -
Change your .gitlab-ci.yml
to trigger a pipeline in another project. -
Review the Runner Troubleshooting guide and try to reproduce issues where possible. -
Read the rest of the GitLab CI Documentation. -
Set up a project with a basic web application that has some tests. Your CI script should deploy it to Heroku automatically when all the tests pass. -
Create a basic GitLab Pages project on GitLab.com and make sure the CI script builds it and that the website is visible afterwards.
Stage 4: Advanced CI
Please ensure that you review with your trainer/manager if they would like you to do all the tasks in this stage.
-
Done with Stage 4
-
Set up a container registry for your project. -
Build a Docker image and upload it to the project registry as part of the CI pipeline. -
Add or integrate a Kubernetes cluster to your project. -
Deploy your application to Kubernetes via GitLab CI using the Docker container you built. One option is to customize the Auto DevOps template. -
Set up Review Apps to be deployed to Kubernetes. -
Create a custom image to speed up your build times by having the dependencies pre-installed (the same way it is done for GitLab CE and EE). See it in action on the first line here. -
Set up a manual deploy step, so that it does not deploy to production unless someone clicks the button to do so. -
Speed up a pipeline using caching.
Stage 5: Tickets
-
Done with Stage 5
-
Answer 20 GitLab CI tickets and paste the links here, even if a ticket seems too advanced for you to answer. Find the answers from an expert and relay it to the customer. - __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
- __
Stage 6: Pair on Customer Calls
-
Done with Stage 6
-
Participate on two customer calls regarding Sales or Troubleshooting GitLab CI. - call with ___
- call with ___
Final Stage
-
Have your trainer and manager review this issue. -
Manager: Have a CI expert in Support review 5-7 of the tickets from Stage 5 and report back to you on whether sufficient CI knowledge has been demonstrated. -
Manager: schedule a call (or integrate into 1:1) to review how the module went once you have reviewed this issue. -
Submit a MR to declare yourself a CI Expert on the team page. -
Add this module to the list of training you have completed!