DevOps
Có một số khía cạnh khác nhau bao gồm DevOps là gì và ý nghĩa của nó đối với mọi tổ chức và nhóm phát triển. Bản thân từ này là sự kết hợp của “Dev” và “Ops” đề cập đến việc loại bỏ các rào cản giữa các nhóm phát triển và vận hành, khuyến khích sự hợp tác giữa các lĩnh vực khác nhau và áp dụng các quy trình và công cụ được chia sẻ. Các phương pháp thiết yếu của DevOps bao gồm lập kế hoạch nhanh, tích hợp liên tục, phân phối liên tục và giám sát các ứng dụng.
“DevOps là sự kết hợp của con người, quy trình và công nghệ để cho phép liên tục cung cấp giá trị cho người dùng cuối của chúng ta”.
— Sam Guckenheimer
Hình 1-1: Các phương pháp DevOps cơ bản
Azure bao gồm một số dịch vụ được các nhóm phát triển sử dụng để triển khai DevOps trong nhóm và tổ chức của họ. Các nhóm DevOps triển khai một tập hợp các quy trình và quy trình công việc tương tự:
- Chia sẻ mã, theo dõi công việc và gửi phần mềm.
- Lập kế hoạch, theo dõi và thảo luận công việc trong nhóm.
- Thực hiện tích hợp liên tục và phân phối liên tục (CI / CD) để cung cấp giá trị theo từng bước ngắn.
GitHub
GitHub cung cấp một số tính năng DevOps, trong đó đáng chú ý nhất là khả năng tạo, quản lý và sử dụng kho lưu trữ Git. Điều này bao gồm các khả năng bổ sung để các nhóm giao tiếp về công việc đang được thực hiện thông qua GitHub Issues và quản lý quá trình hợp nhất mã bằng cách sử dụng chức năng GitHub Pull Request.
GitHub bao gồm một số công cụ hỗ trợ mọi phần trong quy trình làm việc của bạn:
- GitHub Actions – Tự động hóa quy trình làm việc CI / CD để xây dựng, kiểm tra và triển khai mã của bạn từ GitHub.
- GitHub Advanced Security – Sử dụng các tính năng nâng cao để bảo mật mã của bạn bằng cách phát hiện các lỗ hổng với công cụ phân tích mã ngữ nghĩa của Semmle , CodeQL .
- GitHub Open Source Security – Báo cáo và tiết lộ các lỗ hổng bảo mật trong mã nguồn mở thông qua các chính sách bảo mật trong các dự án để cho cộng đồng biết cách tốt nhất để báo cáo các lỗ hổng một cách có trách nhiệm.
- GitHub Packages – Xuất bản và tiêu thụ các gói một cách an toàn trong tổ chức của bạn hoặc trên toàn thế giới.
Azure DevOps
Azure cung cấp một số dịch vụ để dễ dàng triển khai các phương pháp DevOps trong nhóm và tổ chức của bạn. Azure DevOps Services có thể được sử dụng riêng lẻ hoặc kết hợp với nhau:
- Azure Pipelines – Cung cấp các dịch vụ xây dựng và phát hành để hỗ trợ tích hợp liên tục và phân phối các ứng dụng của bạn.
- Azure Boards – Cung cấp một bộ công cụ Agile để hỗ trợ lập kế hoạch và theo dõi công việc, lỗi mã và các vấn đề bằng cách sử dụng phương pháp Kanban và Scrum.
- Azure Test Plans – Cung cấp các công cụ để thực hiện kiểm tra thủ công / khám phá các ứng dụng của bạn.
- Azure Artifacts – Cho phép các nhóm chia sẻ các gói Maven, npm, PyPi và NuGet từ các nguồn công khai và riêng tư, đồng thời tích hợp chia sẻ gói vào đường ống CI / CD của bạn.
- Kho lưu trữ Azure (Azure Repos) – Cung cấp kho lưu trữ Git để kiểm soát nguồn mã của bạn.
Tích hợp DevOps
Bạn cũng có thể sử dụng chuỗi công cụ DevOps yêu thích của mình. Azure cung cấp khả năng tích hợp với các công cụ và dịch vụ của bên thứ ba và nguồn mở phổ biến. Các dịch vụ Azure DevOps khác nhau cũng có thể được sử dụng trong nhiều tổ hợp cấu hình được tích hợp với chuỗi công cụ DevOps yêu thích của bạn.
Bạn có thể sử dụng Azure Pipelines hoặc triển khai trực tiếp đến nền tảng Azure từ giải pháp CI / CD yêu thích của mình, chẳng hạn như Jenkins.
Tất cả các dịch vụ Azure, công cụ DevOps của bên thứ ba và các sản phẩm liên quan đều hoạt động cùng nhau để giúp đáp ứng các nhu cầu và tình huống kinh doanh phổ biến nhất.