Font size
WorksheetsVTI - CICD
Total questions: 81
Worksheet time: 1hrs 22mins
CI là viết tắt của?
Continuous Implementation
Continuous Integration
Continuous Invention
Container Integration
Mục tiêu chính của Continuous Integration là gì?
Giảm thời gian phát triển
Tự động hóa việc quản lý user
Tích hợp code liên tục để phát hiện lỗi sớm
Gửi email cho khách hàng
Khi nào nên chạy pipeline CI?
Mỗi tháng
Khi deploy
Sau khi code đã chạy trên production
Sau mỗi lần commit lên repository
Thành phần nào KHÔNG phải là công cụ CI/CD?
Jenkins
GitHub Actions
Travis CI
MongoDB
Continuous Delivery là gì?
Quản lý phần mềm theo tháng
Luôn sẵn sàng để deploy phần mềm bất cứ lúc nào
Giao tiếp liên tục với khách hàng
Lưu trữ phần mềm tạm thời
CI/CD giúp ích gì cho nhóm phát triển phần mềm?
Tăng chi phí
Tự động hóa, giảm lỗi và tăng tốc độ phát triển
Thay thế hoàn toàn tester
Loại bỏ nhu cầu code review
Công cụ nào sau đây được sử dụng phổ biến cho CI?
Figma
Jenkins
Postman
Excel
Deployment Pipeline là gì?
Chuỗi commit từ Git
Chuỗi các bước kiểm tra, build, test, deploy tự động
Luồng design UI
Tài liệu mô tả quy trình dự án
CI/CD có thể tích hợp với công cụ nào để test tự động?
Jest
Mocha
Selenium
Tất cả các công cụ trên
YAML thường được dùng trong CI/CD để làm gì?
Thiết kế UI
Quản lý người dùng
Cấu hình pipeline
Viết tài liệu
Tại sao kiểm thử tự động là quan trọng trong CI?
Đảm bảo bản build không chứa lỗi trước khi merge
Tăng kích thước file
Giảm thời gian deploy
Giúp frontend đẹp hơn
"Artifact" trong CI/CD nghĩa là gì?
Một tài liệu mô tả lỗi
Một file được tạo ra sau quá trình build
Một loại script
Một log của GitHub
Trong một pipeline CI điển hình, bước nào đến sau khi kiểm thử (test)?
Merge code
Rollback
Build
Deploy
Lợi ích của việc dùng CI/CD là?
Tự động hóa thủ công test
Loại bỏ hoàn toàn lỗi
Rút ngắn vòng đời phát hành phần mềm
Giảm chi phí
Điểm thử (test)?
Merge code
Rollback
Build
Deploy
Lợi ích của việc dùng CI/CD là?
Tự động hóa thủ công test
Loại bỏ hoàn toàn lỗi
Rút ngắn vòng đời phát hành phần mềm
Không cần DevOps nữa
Git là gì trong CI/CD?
Công cụ thiết kế CI/CD
Hệ thống kiểm soát phiên bản được tích hợp trong CI
Một loại container
Một IDE
Webhook dùng để làm gì trong CI/CD?
Tự động trigger pipeline khi có thay đổi mã nguồn
Tạo service trong Kubernetes
Triển khai database
Gửi email hàng tuần
Continuous Deployment khác Continuous Delivery ở điểm nào?
CD là viết tắt của Continuous Download
Continuous Deployment tự động triển khai lên production mà không cần thủ công
Continuous Delivery không có pipeline
Không có khác biệt
Tệp nào thường chứa định nghĩa pipeline trong GitLab CI?
pipeline.yaml
gitlab-ci.yml
build.json
test.js
Lợi ích lớn nhất của CI là gì?
Triển khai nhanh hơn
Có thêm log đẹp
Phát hiện lỗi sớm trong quá trình phát triển
Tạo tài liệu tự động
Khi nào nên chạy lại pipeline CI?
Khi merge pull request
Khi build fail
Khi sửa lỗi
Tất cả các trường hợp trên
Continuous Delivery (CD) đảm bảo điều gì?
Mã nguồn không có lỗi
Tự động rollback khi cần
Mọi thay đổi đều có thể triển khai bất cứ lúc nào
Không cần CI nữa
CD khác gì với CI?
CD liên quan đến kiểm thử code
CD tập trung vào giai đoạn sau khi code đã tích hợp
CD là tên gọi cũ của CI
CD chỉ dùng trong backend
Công cụ nào phổ biến dùng cho CD?
Jenkins
GitLab CI/CD
ArgoCD
Cả 3 trên
Mục tiêu chính của CD là?
Tự động kiểm tra bảo mật
Giúp build chạy nhanh hơn
Tự động kiểm thử giao diện
Tự động deploy nhanh, an toàn
CD giúp giảm rủi ro triển khai bằng cách nào?
Bỏ qua môi trường staging
Kiểm thử liên tục và deploy từng phần
Gộp mọi tính năng vào một lần release
Tránh dùng version control
Quy trình nào điển hình trong CD?
Code → Test → Approve → Deploy
Build → Approve → Debug
Commit → Run → Commit lại
Login → Deploy → Merge
CD yêu cầu môi trường như thế nào để hoạt động hiệu quả?
Không có môi trường staging
Có môi trường staging/test gần giống production
Môi trường chạy độc lập
Chạy trên máy dev
Continuous Deployment là gì?
Triển khai thủ công
Triển khai tự động đến production không cần xác nhận
Triển khai khi có lỗi
Triển khai mỗi tháng
Tại sao cần phê duyệt (approval) trong CD?
Để kiểm soát chi phí
Đảm bảo chỉ deploy khi đã kiểm tra đủ
Tăng độ phức tạp
Bắt buộc trong GitHub
Blue-Green Deployment là gì?
Kỹ thuật build tối ưu
Chạy song song 2 phiên bản ứng dụng để chuyển đổi mượt mà
Triển khai rollback
Chạy CI không cần test
Canary Deployment dùng để?
Cài nhiều ứng dụng
Deploy từng phần nhỏ để kiểm tra an toàn
Tăng dung lượng bộ nhớ
Deploy mọi thứ cùng lúc
Rollback trong CD dùng để?
Làm sạch log
Deploy bản mới
Trở về bản ổn định khi gặp lỗi
Xoá repo
Thành phần nào thường không thuộc quy trình CD?
Kiểm thử tự động
Build container
Quản lý DNS
Thiết kế UI
Một lợi ích của CD là gì?
Deploy nhanh, ít rủi ro, phản hồi sớm từ người dùng
Giảm hiệu suất server
Giảm số developer cần thiết
Tăng chi phí duy trì
Tại sao nên tách CI và CD?
Để tiết kiệm code
Để dễ quản lý và phát hiện lỗi đúng giai đoạn
Vì chúng không liên quan
Không cần tách
"Approval Gate" trong CD là gì?
Firewall bảo mật
Bước yêu cầu người kiểm duyệt đồng ý trước khi deploy
IP Whitelist
Build cache
Công cụ nào KHÔNG dùng để triển khai CD?
Jenkins
Spinnaker
Kubernetes
Canva
Công cụ nào KHÔNG dùng để triển khai CD?
Jenkins
Spinnaker
Kubernetes
Canva
CD thường được tích hợp với công nghệ nào?
Container (Docker, Podman)
Figma
Excel
FTP client
Bạn cần gì để Continuous Deployment hoạt động hiệu quả?
Manual test
Quy trình approval dài dòng
Đội ngũ vận hành đông
CI mạnh + test tự động tin cậy
GitOps là gì trong bối cảnh CD?
Git có thể deploy ứng dụng qua commit
Git để quản lý ảnh sản phẩm
Git chuyên dùng frontend
Git là CI tool
Vault được sử dụng để làm gì?
Tự động scale ứng dụng
Lưu trữ và quản lý secrets an toàn
Theo dõi log hệ thống
Deploy ứng dụng lên cloud
Công ty nào phát triển HashiCorp Vault?
Docker Inc
Red Hat
HashiCorp
CNCF
Vault hỗ trợ loại backend lưu trữ nào?
Redis
Consul
RabbitMQ
PostgreSQL
Khi Vault mới khởi động, trạng thái ban đầu của nó là gì?
Sealed
Unlocked
Running
Deployed
Vault sử dụng cơ chế gì để giải mã dữ liệu?
Token
Key Rotation
Master Key & Unseal Key
Password
Docker Registry dùng để làm gì?
Lưu trữ container logs
Phân phối image Docker
Lưu trữ YAML file
Tạo volume
Docker Hub là gì?
Một loại Dockerfile
Một registry public cho Docker image
Một công cụ CI
Một OS
Câu lệnh nào để push image Docker lên registry?
docker run
docker save
docker push
docker login
Câu lệnh để login vào private registry Docker?
docker login
docker auth
docker connect
docker register
Docker Registry mặc định sử dụng giao thức nào?
HTTP
FTP
HTTPS
SSH
Harbor là gì?
Một loại container
Một nền tảng quản lý Docker image registry
Một file cấu hình
Một pod đặc biệt
Ai là nhà phát triển chính của Harbor?
Docker Inc
VMware
Red Hat
Harbor hỗ trợ xác thực người dùng qua?
OAuth
LDAP
Local User
Tất cả đều đúng
phát triển chính của Harbor?
Docker Inc
VMware
Red Hat
Harbor hỗ trợ xác thực người dùng qua?
OAuth
LDAP
Local User
Tất cả đều đúng
Harbor cung cấp tính năng nào sau đây?
Scan bảo mật cho Docker image
Thiết kế giao diện
Tạo repo Git
CI pipeline
Tính năng replication trong Harbor là gì?
Tự động build image
Đồng bộ image giữa các registry
Gửi log
Backup file YAML
Harbor hỗ trợ phân quyền qua cơ chế nào?
Label
Role-based Access Control (RBAC)
Token
Cron
Port mặc định của giao diện web Harbor là?
5000
8080
443
3000
Harbor hỗ trợ lưu trữ image từ registry nào?
Docker Hub
Google Container Registry
AWS ECR
Tất cả các lựa chọn trên
Harbor có thể cài đặt thông qua?
Helm
Docker Compose
Kubernetes
Cả 3 lựa chọn trên
Để dùng Harbor trong production, ta cần bật tính năng nào?
Debug
HTTPS và xác thực
Tự động pull
Gỡ bảo mật
Plugin nào cần thiết để Jenkins tích hợp với GitHub?
Docker Plugin
GitHub Integration Plugin
Git Plugin
LDAP Plugin
File nào được Jenkins sử dụng để định nghĩa pipeline?
jenkins.yml
Jenkinsfile
pipeline.json
job.config
Jenkins có thể lưu trữ build artifacts ở đâu?
Trong GitHub
Trong Jenkins workspace
Trên trình duyệt
Trong Jenkins plugin folder
Cách phổ biến nhất để chạy script trong build step Jenkins là gì?
JavaScript script
Bash shell hoặc Windows batch
HTML code
YAML playbook
Câu lệnh trong pipeline để checkout code từ Git là gì?
git_fetch()
get_code()
checkout scm
git checkout main
Muốn tự động build khi có commit lên GitHub, bạn cần gì?
Manual trigger
Slack bot
GitHub Webhook
Jenkins restart
Stage nào thường đứng đầu trong một Jenkins pipeline?
Manual trigger
Slack bot
GitHub Webhook
Jenkins restart
Stage nào thường đứng đầu trong một Jenkins pipeline?
Deploy
Build
Checkout code
Notify
Jenkins lưu cấu hình job ở đâu?
Trong database
Trong file cấu hình XML
Trong Jenkinsfile
Trong GitHub repo
Jenkins hỗ trợ chạy build trên nhiều máy bằng tính năng gì?
Multithreading
Parallel Build
Distributed Build với Jenkins agent
Server chaining
Bạn muốn Jenkins gửi thông báo khi build fail, nên dùng gì?
Cronjob
Email Extension Plugin
Webpack
GitHub Actions
Khi Jenkins bị treo vì quá nhiều job, giải pháp nào sau đây nên dùng?
Tăng RAM
Tăng worker thread
Giới hạn build queue và dùng agent phù hợp
Reinstall Jenkins
Từ khóa post trong Jenkinsfile dùng để làm gì?
Gửi code lên GitHub
Chạy hành động sau stage
Ghi log
Build Docker
Bạn cần cấu hình job chỉ chạy mỗi thứ Hai lúc 9h sáng. Cron format đúng là?
0 9 * * 1
0 0 1 1 *
0 9 1 * *
9 0 * * 1
Muốn dùng Jenkins với Docker, bạn cần làm gì?
Cài Docker Plugin
Mở port Jenkins
Thêm user Jenkins vào group admin
Tạo cron trong Dockerfile
Làm sao để tránh các secrets (API key, token) bị lộ khi dùng Jenkinsfile?
Hardcode vào Jenkinsfile
Lưu ở repo
Dùng Jenkins Credentials
Mã hóa bằng base64
