CI/CD with GitLab


CI-CD-With-GitLab - Version:1
Expand All
  • Introduction to CI/CD (Continuous Integration and Continuous Delivery) & GitLab
    • The concepts of CI/CD and how they can help improve the software development process
    • The benefits of using a CI/CD tool such as GitLab
    • History of GitLab
    • Introduction to GitLab
  • Setting up a GitLab project
    • The process of creating a new project in GitLab
    • Connecting a local repository to a GitLab project
    • Discuss the various options for version control (e.g. Git, Mercurial, Subversion)
    • Lab 01 - connect a local repository to a GitLab project
  • GitLab CI/CD pipeline
    • Introduce the concept of a pipeline and how it is used to automate the build, test, and deploy
    • process
    • The.gitlab-ci.yml file
    • Triggering a pipeline manually or automatically
    • Lab 02 - create a first GitLab pipeline
  • Testing in GitLab
    • Discuss the importance of testing in CI/CD and the different types of tests that can be run (e.g.
    • unit tests, integration tests, performance tests)
    • Explain how to configure tests in the
    • .gitlab-ci.yml
    • file
    • Demonstrate how to view test results in GitLab
    • Lab 03 - adding test to a GitLab pipeline
  • Deployment in GitLab
    • Explain the different deployment options available in GitLab (e.g. to a server, to a cloud provider)
    • Demonstrate how to configure a deployment in the
    • .gitlab-ci.yml
    • file
    • Discuss strategies for rolling back deployments if necessary
    • Lab 04 - deploy as part of a GitLab pipeline
  • Best practices for CI/CD with GitLab
    • •Discuss best practices for using GitLab in a CI/CD workflow, such as:
      • Keeping pipelines fast and efficient
      • Managing secrets and credentials
      • Collaborating with team members
      • Maintaining a stable and reliable CI/CD process
  • Advanced GitLab features
    • Introduce additional features of GitLab that can enhance your CI/CD process, such as:
      • Environments and environment variables
      • GitLab pages
      • Advanced pipeline configuration (e.g. dependencies,artifacts)
  • Basic scripting knowledge
  • Basic Linux OS knowledge.
  • Basic understanding of terminal and command line usage