Gitlab Ci: Pipelines, Ci/Cd And Devops For Beginners
Last updated 5/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.10 GB | Duration: 5h 15m
Last updated 5/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.10 GB | Duration: 5h 15m
Learn GitLab CI / CD with Docker & DevOps: obtain valuable DevOps skills. Build pipelines.
What you'll learn
What is a pipeline
What is Continuous Integration (CI), Continuous Delivery (CD) and Continuous Deployment (CD)
Automate your build, test & deployment with Gitlab CI
Learn industry "best practices" in building CI/CD pipelines
Demonstrate your understanding of building CI/CD pipelines to future employers
Automate your builds, tests, and deployments
Automatic deployments using AWS
Build pipelines with code quality checks, unit tests, API testing
Solve problems with hands-on assignments
Create Merge Requests and review code
Dynamic environments
Requirements
GitLab .com account (the free plan works very well)
Basic experience with Linux, Linux commands and using the terminal
Know how to work with Git (basics like configuring a repository locally, cloning, merge, commit, push)
Admin permissions that allow you to install additional tools (Node, npm, Docker, Virtualbox)
Optional: some basic experience with Docker will be a bonus
Description
This course is neither endorsed by, nor in partnership, nor affiliated with GitLab, Inc. This course will teach you how to use Gitlab CI for your own projects. You will learn the basics of CI/CD and start building pipelines right from the first lecture.Some highlights:- have an overview of the Gitlab architecture- create a simple pipeline- learn the CI/CD practice by deploying a simple website- use Docker images within Gitlab- learn how to deploy a Java application to AWS, using AWS S3 and AWS Elastic Beanstalk. This course will NOT make you a GitLab CI / DevOps expertA lot of courses promise you will become an expert. Becoming an expert in any tool comes with time and hard work. It simply does not make sense to promise something like that. It will not be honest. This is a course designed for beginners. Learning to build pipelines is a try-and-error process that can be very frustrating. You need to understand the tools you use and how GitLab can support your needs. In the end, GitLab is just a tool. What I will try is to explain to you the basics and offer you enough practice opportunities so that you can apply what you learn easily in your own projects as well. I will show you how to build pipelines with Gitlab CI.
Overview
Section 1: Introduction
Lecture 1 Course notes
Lecture 2 Your first pipeline
Lecture 3 My GitLab CI pipeline is not running
Lecture 4 Configuring Git for Gitlab CI
Lecture 5 Gitlab architecture
Lecture 6 Why GitLab CI?
Lecture 7 How much does Gitlab cost?
Lecture 8 About the course
Lecture 9 Important skills you need to acquire
Section 2: Basic CI/CD workflow with Gitlab CI
Lecture 10 Overview
Lecture 11 What is CI / CD?
Lecture 12 Alternative if you don't want to install new software
Lecture 13 Short introduction to Node.js
Lecture 14 Creating a new project
Lecture 15 Building the project locally
Lecture 16 Short introduction to images and Docker
Lecture 17 Building the project using Gitlab CI
Lecture 18 Adding a test stage
Lecture 19 Running jobs in parallel
Lecture 20 Running jobs in the background
Lecture 21 Deployment using surge.sh
Lecture 22 Using Environment variables for managing secrets
Lecture 23 Deploying the project using Gitlab CI
Lecture 24 How does Surge.sh know the environment variables?
Section 3: Gitlab CI Fundamentals
Lecture 25 Overview
Lecture 26 Predefined environment variables
Lecture 27 Pipeline triggers / Retrying failed jobs / Pipeline schedules
Lecture 28 Using caches to optimize the build speed
Lecture 29 Cache vs Artifacts
Lecture 30 Deployment Environments
Lecture 31 Defining variables
Lecture 32 Manual deployments / Manually triggering jobs
Lecture 33 Merge requests - Using branches
Lecture 34 Merge requests - What is a Merge Request?
Lecture 35 Merge requests - Configuring Gitlab
Lecture 36 Merge requests - Your first merge request
Lecture 37 Dynamic environments
Lecture 38 Troubleshooting environment variables not being available
Lecture 39 Destroying environments (Clean-up after the Merge Request)
Lecture 40 before_script & after_script configuration
Lecture 41 Recap & conclusion
Section 4: YAML basics
Lecture 42 Overview
Lecture 43 Understanding YAML
Lecture 44 Disabling jobs
Lecture 45 Anchors
Lecture 46 Creating job templates
Section 5: Using Gitlab CI to build and deploy a Java application to AWS Elastic Beanstalk
Lecture 47 Overview
Lecture 48 Introduction to the Java application
Lecture 49 Calling an API with Postman
Lecture 50 Continuous Integration (CI) pipeline overview
Lecture 51 Build stage: Building a Java application locally
Lecture 52 Build stage: Building a Java application with Gitlab CI
Lecture 53 Test stage: Adding a smoke test
Lecture 54 CI/CD pipeline recap
Lecture 55 Brief introduction to Amazon Web Services (AWS)
Lecture 56 Notice about unexpected costs while using AWS
Lecture 57 Serverless computing with AWS Elastic Beanstalk
Lecture 58 How to deploy to AWS (manual upload)
Lecture 59 How to deploy to AWS from GitLab CI
Lecture 60 Getting started with AWS S3
Lecture 61 GitLab Group settings
Lecture 62 How to upload a file to AWS S3 from GitLab CI
Lecture 63 How to deploy a Java application to AWS Elastic Beanstalk using the AWS CLI
Lecture 64 Assignment
Lecture 65 Assignment solution
Lecture 66 Create an application version
Lecture 67 Verify the application version after deployment
Lecture 68 Revisiting the CI pipeline
Lecture 69 Ensuring coding standards with tools for codestyle checking with PMD
Lecture 70 Assignment - Add code quality stage with PMD
Lecture 71 Assignment solution - Add code quality stage with PMD
Lecture 72 Quick introduction to unit testing in CI pipelines
Lecture 73 Unit test stage: Run JUnit tests with GitLab CI
Lecture 74 How to structure a CI/CD pipeline in GitLab CI?
Lecture 75 API test stage: Run Postman API tests in GitLab CI
Lecture 76 GitLab Pages (for publishing HTML reports or dashboards)
Lecture 77 Final reminder to terminate all AWS services
Section 6: Specific topics / User topics
Lecture 78 Ask the instructor
Section 7: Conclusion
Lecture 79 Not the end
Lecture 80 Bonus lecture
Software developers learning to build pipelines in order to test & deploy code,IT Professionals: Developers, Software Engineers, Application Architects, Infrastructure Architects, and Operations