Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

GitLab CI/CD: Pipelines, CI/CD and DevOps for Beginners

GitLab CI/CD: Hướng dẫn Pipelines, CI/CD và DevOps cho người mới bắt đầu

GitLab CI/CD: Hướng dẫn Pipelines, CI/CD và DevOps cho người mới bắt đầu

Khóa học toàn diện về GitLab CI/CD từ một GitLab Hero. Học các kỹ năng DevOps giá trị. Xây dựng pipelines và Triển khai lên AWS.

4.6
(24,126 đánh giá)
139,488 học viên
Giảng viên
Valentin Despa
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 389.000đ -87%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
14.0 giờ video
157 bài giảng
15 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 03/08/2026

Bạn sẽ học được gì

Pipeline là gì
Tích hợp liên tục (CI), Phân phối liên tục (CD) và Triển khai liên tục (CD) là gì
Tự động hóa quá trình build, test & triển khai với Gitlab CI
Học "cách làm tốt nhất" trong ngành để xây dựng CI/CD pipelines
Chứng minh hiểu biết về xây dựng CI/CD pipelines với nhà tuyển dụng tương lai
Tự động hóa quá trình build, test và triển khai
Triển khai tự động sử dụng AWS
Xây dựng pipelines với kiểm tra chất lượng code, unit tests, API testing
Giải quyết vấn đề thông qua bài tập thực hành
Tạo Merge Requests và review code
Môi trường động (Dynamic environments)

Yêu cầu

Đăng ký tài khoản GitLab .com (gói miễn phí hoạt động rất tốt)
Xác minh tài khoản GitLab .com qua tin nhắn SMS bằng cách cung cấp số điện thoại.
Kiến thức Git cơ bản (như cấu hình repository cục bộ, clone, merge, commit, push)
Kinh nghiệm cơ bản với Linux, lệnh Linux và sử dụng terminal
Quyền Admin cho phép bạn cài đặt các công cụ bổ sung (Node, npm, Docker)
Tùy chọn: Cài đặt Visual Studio Code
Tùy chọn: Kinh nghiệm cơ bản với Docker

Đối tượng phù hợp

Lập trình viên phần mềm học cách xây dựng pipelines để test & triển khai code
Kiến trúc sư giải pháp (Solutions architects)
Kiến trúc sư ứng dụng (Application Architects)
Kiến trúc sư hạ tầng (Infrastructure Architects)
Vận hành CNTT (IT Operations)

Nội dung khóa học

11 phần • 153 bài giảng
1 Giới thiệu về khóa học GitLab CI/CD
2 GitLab CI/CD là gì?
3 Đăng ký tài khoản GitLab.com
4 Xác minh tài khoản GitLab của bạn
5 Pipeline là gì?
6 Pipeline đầu tiên của bạn
7 Hỗ trợ! Pipeline GitLab CI của tôi không chạy.
8 Thêm các giai đoạn (stages) vào pipeline
9 Kiến trúc GitLab CI/CD
10 Kiến trúc GitLab CI/CD (Phần 2)
11 GitLab có giá bao nhiêu?
12 Linux shell là gì?
13 Viết comments trong pipeline GitLab
14 Dừng pipeline thủ công
15 Giới thiệu ngắn gọn về YAML
16 Bảo vệ CI pipelines bằng các bài test hiệu quả
17 Tại sao jobs và pipelines thất bại (exit codes)
18 Ôn tập lệnh Linux cơ bản (phòng lab thực hành)
19 Các kỹ năng quan trọng bạn cần có
20 DevOps là gì?
21 Kết luận
1 Giới thiệu về Tích hợp liên tục (CI)
2 Fork một Git repository
3 Chạy dự án cục bộ (tùy chọn)
4 Sử dụng Docker làm môi trường build
5 Chọn Docker image phù hợp
6 Docker image nhẹ (alpine, slim)
7 Build dự án bằng GitLab
8 Bài tập: Xuất bản build artifacts
9 Bài tập: Xuất bản build artifacts
10 Ôn tập kiến trúc GitLab CI/CD
11 Bài tập: Thêm giai đoạn test
12 Bài tập: Thêm giai đoạn test - Lời giải
13 Chạy unit tests
14 Chạy jobs song song
15 Các giai đoạn pipeline mặc định (.pre, build, test, deploy .post)
16 Xuất bản báo cáo test JUnit
17 Kiểm tra các bài test (đảm bảo rằng các test thất bại!)
18 Làm thế nào để tích hợp các thay đổi?
19 Cấu hình Merge Requests
20 Thực hiện thay đổi thông qua Merge Request
21 Review code và merge các thay đổi
22 Cấu hình code linter
23 Làm thế nào để cấu trúc một pipeline?
24 Đơn giản hóa pipeline
25 Tổng kết phần
1 Tổng quan phần
2 Triển khai thủ công
3 Cài đặt công cụ CLI
4 [YÊU CẦU HÀNH ĐỘNG] Cập nhật quan trọng về Netlify CLI
5 Lưu trữ cấu hình dự án trong biến môi trường
6 Biến môi trường (phòng lab thực hành)
7 Quản lý secrets
8 Cách làm tốt nhất để xử lý thông tin xác thực
9 Triển khai lên môi trường production
10 Smoke tests
11 Kiểm tra nội dung ứng dụng cơ bản với curl (phòng lab thực hành)
12 Thực thi job có điều kiện với rules:
13 Scripts: before_script và after_script
14 Chiến lược triển khai: Môi trường non-production
15 Triển khai lên môi trường staging
16 Bước phê duyệt thủ công trước khi triển khai lên production
17 Phân phối liên tục và Triển khai liên tục
18 Tạo môi trường review
19 Pipeline merge request so với Pipeline nhánh
20 Phân tích dữ liệu phản hồi CLI (với trình phân tích cú pháp JSON jq)
21 Định nghĩa môi trường động
22 Định nghĩa môi trường tĩnh
23 Giới hạn biến cho một môi trường cụ thể
24 Mô phỏng dự án bằng merge requests
25 End-to-end tests với Playwright (E2E tests)
26 Truyền dữ liệu giữa các jobs bằng biến môi trường
27 Bài tập: Xuất bản báo cáo E2E JUnit
28 Bài tập: Xuất bản báo cáo E2E JUnit - Lời giải
29 Xuất bản báo cáo HTML
30 Thiết lập phiên bản build
31 Phân tích quan trọng về pipeline
32 Tại sao CI/CD thực sự quan trọng
33 Kết luận & giải lao
1 Tổng quan phần
2 Tạo Dockerfile
3 Chạy lệnh Docker CLI trong GitLab
4 Build Docker image
5 GitLab container registry
6 Đẩy image lên GitLab container registry
7 Sử dụng Docker image tùy chỉnh trong pipeline
8 Tạo pipeline theo lịch trình
9 Microsoft Artifact Registry
1 Giới thiệu về Amazon Web Services (AWS)
2 Amazon S3 (lưu trữ đối tượng)
3 AWS CLI
4 Quản lý dịch vụ AWS với AWS CLI
5 Quản lý danh tính với AWS IAM
6 Quản lý thông tin xác thực AWS trong GitLab - Bài tập
7 Quản lý thông tin xác thực AWS trong GitLab - Lời giải bài tập
8 Tải file lên S3
9 Hosting website trên S3
10 Đồng bộ file lên S3
11 Kết luận
1 Amazon Elastic Compute Cloud (EC2)
2 Tạo máy chủ web Nginx
3 Kiểm tra kết nối với netcat (nc)
4 25 - Kiểm tra kết nối SSH từ GitLab
5 Lưu trữ SSH private key trong GitLab
6 Cấu hình kết nối SSH
7 Xác minh SSH host keys
8 Chạy lệnh qua SSH
9 Tải file lên bằng SCP
10 Tải file lên bằng rsync
11 Chạy script triển khai
12 Kết luận
1 Giới thiệu về Amazon Elastic Container Service (Amazon ECS)
2 Cơ sở hạ tầng ECS / Chế độ khởi chạy (Fargate vs EC2)
3 Tạo cluster trong ECS
4 Tạo task definition
5 Tạo deployment trên ECS
6 Cập nhật task definition bằng AWS CLI
7 Cập nhật service bằng AWS CLI
8 Lệnh wait
9 Các bước cần thiết để triển khai ứng dụng lên ECS
10 Tạo Dockerfile
11 Build Docker image
12 Amazon ECR - Docker container registry
13 Sử dụng Docker image từ ECR trong task definition
14 Sử dụng sed để thay thế placeholder trong file
15 Tổng kết phần & kết luận
1 Tổng quan phần
2 Tự động thử lại jobs thất bại (từ khóa retry)
3 Cho phép thất bại (từ khóa allow_failure)
4 YAML anchors và aliases
5 Mẫu job với YAML anchors và aliases (ví dụ thực tế)
6 Tái sử dụng cấu hình với extends:
7 Nhập cấu hình YAML từ file khác (từ khóa includes)
8 CI/CD Components & Catalog
9 Viết script nhiều dòng
10 Khởi động server / tiến trình nền trong một job
11 GitLab Pages
12 Chọn GitLab Runner bằng tags
1 Bỏ qua clone Git repository (GIT_STRATEGY)
2 Tắt tải artifacts từ các giai đoạn trước (từ khóa dependencies)
3 Pipelines không giai đoạn: chạy jobs không theo thứ tự (từ khóa needs)
4 Sử dụng từ khóa needs với artifacts
5 Caches
6 Caches so với Artifacts
7 Cache key động (cấu hình cache)
8 Cache key từ file (cấu hình cache)
9 Tắt cache (cấu hình cache)
10 Chính sách cache (cấu hình cache)
11 Chính sách cache động (cấu hình cache)
12 Khắc phục sự cố cấu hình cache
1 Hỏi giảng viên
1 Chưa phải là kết thúc
2 Bài giảng bổ sung

Giới thiệu khóa học

This course is neither endorsed by, nor in partnership, nor affiliated with GitLab, Inc.

SPECIFIC SKILLS YOU WILL LEARN


  • Pipeline Development - Create multi-stage GitLab CI/CD pipelines using YAML configuration. Configure automated unit testing with JUnit reports. Implement parallel job execution. Use conditional job execution with rules. Manage job dependencies and artifacts. Configure before_script and after_script hooks. Troubleshoot pipeline failures using exit codes.

  • Continuous Integration Practices - Configure merge request workflows with branch protection. Implement code review processes before merging. Add automated code linting for quality enforcement. Run unit tests before allowing merges. Generate and publish test reports. Implement smoke tests for deployment verification. Configure end-to-end testing with Playwright.

  • Docker Integration - Select appropriate Docker images for build environments (Alpine, slim variants). Create custom Dockerfile for applications. Build and tag Docker images in GitLab pipelines. Push images to GitLab Container Registry and Amazon ECR. Use Docker containers as pipeline job execution environments.

  • Deployment Strategies - Create deployment pipelines for multiple environments. Configure environment-specific variables and secrets. Implement manual approval gates for production deployments. Create dynamic review environments for merge requests. Deploy applications to remote servers using SSH, SCP, and rsync. Configure SSH key authentication and host verification. Run deployment scripts on remote servers.

  • AWS Cloud Deployment - Install and configure AWS CLI for infrastructure automation. Deploy static websites to Amazon S3 with bucket configuration and file syncing. Create and manage AWS IAM users and roles for secure credential management. Deploy containerized applications to Amazon ECS using Fargate and EC2 launch types. Create ECS task definitions and services. Update ECS deployments using AWS CLI. Store Docker images in Amazon ECR.

  • Pipeline Optimization - Implement caching strategies to speed up builds. Configure cache keys (static, dynamic, file-based). Manage artifact dependencies between jobs. Use stageless pipelines with the needs keyword. Skip repository cloning when not needed using GIT_STRATEGY. Optimize Docker image selection for faster execution.

  • Security and Secrets Management - Store credentials securely using GitLab CI/CD variables. Scope variables to specific environments. Follow best practices for handling sensitive data. Configure SSH private keys for deployment. Manage AWS access keys and secret keys safely.

COURSE STRUCTURE

Section 1 (21 lectures) - GitLab CI/CD fundamentals, DevOps concepts, pipeline architecture, YAML syntax, first pipeline creation, GitLab Runner understanding, Linux shell basics, exit codes.

Section 2 (25 lectures) - Continuous Integration with Docker build environments, automated testing, parallel execution, JUnit reports, merge request workflows, code linting, artifact publishing.

Section 3 (33 lectures) - Continuous Deployment to multiple environments, environment variables, secrets management, deployment strategies (manual, staging, production), review environments, Playwright E2E testing, HTML reports.

Section 4 (9 lectures) - Docker for DevOps including Dockerfile creation, Docker CLI in GitLab, building and pushing images, GitLab Container Registry, scheduled pipelines.

Section 5 (11 lectures) - AWS deployment using S3 static hosting, AWS CLI usage, IAM credential management, file uploading and syncing to S3.

Section 6 (12 lectures) - SSH deployment to Amazon EC2, Nginx web server setup, SSH connection configuration, SCP and rsync file transfers, remote script execution.

Section 7 (15 lectures) - Amazon ECS deployment including cluster creation, task definitions, service configuration, ECR integration, automated deployment updates, sed for file templating.

Section 8 (11 lectures) - Advanced features including job retry, allow_failure, YAML anchors and aliases, job templates, extends keyword, includes for configuration reuse, CI/CD components, multi-line scripts, background processes, GitLab Pages, runner tags.

Section 9 (12 lectures) - Performance optimization including GIT_STRATEGY options, disabling artifact downloads, stageless pipelines with needs, cache configuration (keys, policies, troubleshooting), cache vs artifacts comparison.

Section 10 (1 lecture) - User questions and specific topics.

Section 11 (3 lectures) - Course conclusion and bonus content.


PRACTICE COMPONENTS

The course includes quizzes testing fundamental concepts, GitLab architecture, Docker integration, merge requests, deployment environments, and CI/CD best practices. Practice labs cover Linux commands, environment variables, curl for smoke testing, and JSON parsing with jq. Role-play exercises simulate real DevOps scenarios. Assignments include publishing build artifacts, adding test stages, publishing test reports, and managing AWS credentials with step-by-step solutions provided.

WORKPLACE APPLICATIONS

Automate manual deployment processes that are error-prone and time-consuming. Maintain consistent environments across development, staging, and production using Docker containers. Integrate AWS cloud services with CI/CD pipelines. Implement automated testing before code merges to prevent production bugs. Optimize pipeline execution speed to improve developer productivity. Establish deployment approval workflows for production releases. Create ephemeral review environments for feature branch testing. Implement infrastructure-as-code practices for reproducible deployments.

LEARNING APPROACH

This course provides foundational knowledge in GitLab CI/CD rather than promising instant expertise. It focuses on clear explanations of CI/CD concepts, step-by-step pipeline building guidance, practical examples applicable to real projects, troubleshooting common issues, and best practices for security, performance, and maintainability. The course emphasizes hands-on learning through building actual pipelines rather than theoretical knowledge alone.

COMPLEMENTARY SKILLS

This course connects to broader DevOps practices including infrastructure automation, containerization strategies, cloud architecture, automated testing methodologies, continuous delivery vs continuous deployment, version control workflows, and deployment pattern implementations. Skills learned apply to GitLab CI/CD specifically but transfer to understanding Jenkins, GitHub Actions, CircleCI, and other CI/CD platforms.

EXPECTED OUTCOMES AFTER COMPLETION

You will be able to create GitLab CI/CD pipelines from scratch for your projects. You will automate testing, building, and deployment workflows. You will deploy applications to AWS cloud infrastructure using multiple services. You will implement merge request workflows with automated quality checks. You will configure secure credential management for cloud deployments. You will optimize pipeline performance for faster execution. You will troubleshoot and debug pipeline failures independently. You will apply CI/CD best practices in professional development environments.

WHAT YOU WILL BUILD

Production-ready CI/CD pipelines that automate software testing, building, and deployment from code commit to production release across multiple environments (development, staging, production).

PREREQUISITES

Basic Git version control knowledge (commits, branches, push, pull). Familiarity with command-line interfaces and Linux/Unix terminal basics. Basic programming or scripting knowledge in any language. Docker experience, cloud platform knowledge, and software development workflow understanding are helpful but not required.

TARGET LEARNERS

Software Developers, DevOps Engineers, Site Reliability Engineers (SRE), System Administrators, Cloud Engineers seeking to automate testing, building, and deployment workflows.

CORE TECHNOLOGIES COVERED

GitLab CI/CD pipelines, YAML configuration, Docker containers, AWS S3, AWS ECS, AWS ECR, AWS IAM, AWS CLI, Amazon EC2, SSH deployment, SCP, rsync, Playwright end-to-end testing, JUnit test reports, GitLab Container Registry, GitLab Runner, merge request workflows, code linters, pipeline optimization, caching strategies, environment variables, secrets management.


Legal Disclaimer

This course is an independent educational resource and is not endorsed by, affiliated with, or associated with GitLab Inc. or any of its products or services. GitLab and the GitLab logo are trademarks of GitLab Inc. All product names, logos, and brands mentioned in this course are the property of their respective owners.

This course contains promotional materials.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Ci Cd
Hiển thị tất cả khoá học Devops
Hiển thị tất cả khoá học Docker
Hiển thị tất cả khoá học Gitlab
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊