GitLab CI Pipelines CICD and DevOps for Beginners
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
Registering for a 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 & important resources
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 Troubleshooting
Lecture 16 Building the project locally
Lecture 17 Short introduction to images and Docker
Lecture 18 Building the project using Gitlab CI
Lecture 19 Adding a test stage
Lecture 20 Running jobs in parallel
Lecture 21 Running jobs in the background
Lecture 22 Deployment using surge.sh
Lecture 23 Using Environment variables for managing secrets
Lecture 24 Deploying the project using Gitlab CI
Lecture 25 How does Surge.sh know the environment variables?
Section 3: Gitlab CI Fundamentals
Lecture 26 Overview
Lecture 27 Predefined environment variables
Lecture 28 Pipeline triggers / Retrying failed jobs / Pipeline schedules
Lecture 29 Using caches to optimize the build speed
Lecture 30 Cache vs Artifacts
Lecture 31 Deployment Environments
Lecture 32 Defining variables
Lecture 33 Manual deployments / Manually triggering jobs
Lecture 34 Merge requests – Using branches
Lecture 35 Merge requests – What is a Merge Request?
Lecture 36 Merge requests – Configuring Gitlab
Lecture 37 Merge requests – Your first merge request
Lecture 38 Dynamic environments
Lecture 39 Troubleshooting environment variables not being available
Lecture 40 Destroying environments (Clean-up after the Merge Request)
Lecture 41 before_script & after_script configuration
Lecture 42 Recap & conclusion
Section 4: YAML basics
Lecture 43 Overview
Lecture 44 Understanding YAML
Lecture 45 Disabling jobs
Lecture 46 Anchors
Lecture 47 Creating job templates
Section 5: Using Gitlab CI to build and deploy a Java application to AWS Elastic Beanstalk
Lecture 48 Overview
Lecture 49 Introduction to the Java application
Lecture 50 Calling an API with Postman
Lecture 51 Continuous Integration (CI) pipeline overview
Lecture 52 Build stage: Building a Java application locally
Lecture 53 Build stage: Building a Java application with Gitlab CI
Lecture 54 Test stage: Adding a smoke test
Lecture 55 CI/CD pipeline recap
Lecture 56 Brief introduction to Amazon Web Services (AWS)
Lecture 57 Notice about unexpected costs while using AWS
Lecture 58 Serverless computing with AWS Elastic Beanstalk
Lecture 59 How to deploy to AWS (manual upload)
Lecture 60 How to deploy to AWS from GitLab CI
Lecture 61 Getting started with AWS S3
Lecture 62 GitLab Group settings
Lecture 63 How to upload a file to AWS S3 from GitLab CI
Lecture 64 How to deploy a Java application to AWS Elastic Beanstalk using the AWS CLI
Lecture 65 Assignment
Lecture 66 Assignment solution
Lecture 67 Create an application version
Lecture 68 Verify the application version after deployment
Lecture 69 Revisiting the CI pipeline
Lecture 70 Ensuring coding standards with tools for codestyle checking with PMD
Lecture 71 Assignment – Add code quality stage with PMD
Lecture 72 Assignment solution – Add code quality stage with PMD
Lecture 73 Quick introduction to unit testing in CI pipelines
Lecture 74 Unit test stage: Run JUnit tests with GitLab CI
Lecture 75 How to structure a CI/CD pipeline in GitLab CI?
Lecture 76 API test stage: Run Postman API tests in GitLab CI
Lecture 77 GitLab Pages (for publishing HTML reports or dashboards)
Lecture 78 Final reminder to terminate all AWS services
Section 6: Specific topics / User topics
Lecture 79 Ask the instructor
Section 7: Conclusion
Lecture 80 Not the end
Lecture 81 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
Course Information:
Udemy | English | 5h 15m | 1.73 GB
Created by: Valentin Despa
You Can See More Courses in the Developer >> Greetings from CourseDown.com