Categories
Software Architecture

Chia Sẻ Mã Của Bạn, Theo Dõi Công Việc Và Gửi Phần Mềm Với Azure 4: Đường Ống Azure

Đường ống Azure

Khi mã của bạn nằm trong một kho lưu trữ chẳng hạn như Azure Repos, bạn có thể bắt đầu tự động hóa các quy trình xây dựng và phát hành của mình với Azure Pipelines.

Azure Pipelines cung cấp rất nhiều giá trị trong một khoảng thời gian nhỏ. Nó cho phép tích hợp liên tục (CI) để biên dịch và kiểm tra mã khi có thay đổi, cũng như triển khai liên tục (CD) để triển khai ứng dụng sau khi các thay đổi được biên dịch và kiểm tra thành công. Chúng tôi khuyến khích mọi tổ chức khám phá CI và CD, vì các quy trình này cải thiện chất lượng mã và giảm nỗ lực triển khai.

Azure Pipelines có thể trợ giúp với CI và CD bằng cách cung cấp các đường ống xây dựng và triển khai. Mỗi phần đều chứa các bước để biên dịch và kiểm tra mã của bạn và triển khai nó cho một hoặc nhiều môi trường. Vẻ đẹp của Azure Pipelines là nó hoạt động với bất kỳ loại mã nào, bất kể bạn lưu trữ nó ở đâu — từ C # trên Azure Repos đến Java trên BitBucket, đến Node.js trên GitHub, hoặc bất kỳ ngôn ngữ nào khác hoặc kho lưu trữ Git hoặc SVN.

Ví dụ: Azure Pipelines hoạt động rất tốt với các dịch vụ Azure để triển khai ứng dụng của bạn trong một ứng dụng web Azure. Nó cũng hoạt động với bất kỳ dịch vụ nào chạy trong bất kỳ môi trường nào khác, chẳng hạn như Google Cloud Platform, AWS hoặc thậm chí tại chỗ trong trung tâm dữ liệu của riêng bạn. Nếu bạn đã sử dụng các công cụ CI như Jenkins hoặc Spinnaker, bạn có thể dễ dàng đưa các bản dựng và đường ống hiện có của mình sang Azure và tận dụng các plug-in tác nhân động để giảm yêu cầu và chi phí về cơ sở hạ tầng.

Hình 7-2: Đường ống Azure — xây dựng đường ống.

Hình 7-2: Đường ống Azure — xây dựng đường ống

Có hai cách làm việc với Azure Pipelines. Bạn có thể tạo đường ống bằng trình thiết kế trực quan trong cổng Azure DevOps hoặc bạn có thể sử dụng phương pháp dựa trên YAML nâng cao hơn. Trong cách tiếp cận này, bạn tạo một tệp mã YAML, chứa tất cả các bước của quy trình và ghi lại (commit) điều đó với quyền kiểm soát nguồn.

Cách dễ nhất để bắt đầu là sử dụng trình thiết kế trực quan. Hãy xem một ví dụ về đường dẫn xây dựng và phát hành:

Đường ống xây dựng: Đường ống xây dựng (hoặc đường ống CI) trong Hình 7-2 cho thấy danh sách các tác vụ sẽ được thực hiện khi đường ống này chạy. Đường ống được định cấu hình để chạy ngay sau khi các thay đổi mới được ghi lại với Azure Repos. Nó sẽ lấy mã trong Azure Repos (là một ứng dụng Node.js), tạo một hình ảnh vùng chứa Docker từ nó và đẩy nó vào Azure Container Registry. Từ đó, Helm có thể sử dụng nó để biên dịch hình ảnh thành một gói có thể được triển khai trên Dịch vụ Azure Kubernetes.

Lưu ý rằng bạn có thể định cấu hình máy chủ nào chạy đường ống cho bạn. Ở bên phải của hình, bạn có thể thấy rằng đường dẫn cụ thể này sẽ chạy trên một nhóm các máy Ubuntu Linux được lưu trữ. Ngoài ra còn có các máy chủ Windows và thậm chí cả macOS được lưu trữ mà bạn có thể sử dụng để xây dựng các ứng dụng macOS và iOS của mình. Đây chỉ là một ví dụ về đường ống xây dựng. Có thể tạo một cái cho mọi ứng dụng có thể tưởng tượng được. Bạn cũng có thể tích hợp các bài kiểm tra, bao gồm bài kiểm tra đơn vị và bài kiểm tra mã tĩnh, vào đường dẫn xây dựng.

Đường ống phát hành: Đường ống phát hành (hoặc đường ống CD) thực thi ngay sau khi đường ống xây dựng chạy thành công, mặc dù bạn cũng có thể định cấu hình, tuy nhiên nó được kích hoạt theo cách thủ công. Đường ống phát hành trong Hình 7-3 chứa chín tác vụ, đầu tiên tạo một cụm Dịch vụ Azure Kubernetes và sau đó triển khai gói Helm đã được tạo ra trong đường ống xây dựng cho cụm.

Hình 7-3 cho thấy các bước trong giai đoạn phát triển. Các giai đoạn giống như môi trường. Bạn có thể định cấu hình một giai đoạn cho môi trường phát triển, thử nghiệm và sản xuất của mình, v.v. Bạn cũng có thể định cấu hình những thứ như phê duyệt trước khi triển khai, yêu cầu ai đó phê duyệt việc phát hành ứng dụng vào một môi trường cụ thể (chẳng hạn như môi trường sản xuất):

Hình 7-3: Các bước trong giai đoạn phát triển của đường ống phát hành.

Hình 7-3: Các bước trong giai đoạn phát triển của đường ống phát hành

Điều này có nghĩa là bạn có thể tự động hóa mọi thứ và để người quản lý quyết định chuyển sang sản xuất dựa trên kết quả thử nghiệm cho các bước trước đó trong quy trình.

Làm cho đường ống của bạn đơn giản hoặc phức tạp như bạn muốn. Lý tưởng nhất là bạn muốn tự động hóa nhiều nhất có thể, từ việc tạo và phá hủy cơ sở hạ tầng đến việc triển khai và thử nghiệm ứng dụng của bạn. Các tác vụ đường ống có sẵn cho hầu hết mọi thứ và bạn có thể truy cập nhiều tác vụ hơn dưới dạng tiện ích mở rộng cho Azure DevOps trong Visual Studio Marketplace.

Bắt đầu với Azure Pipelines bằng cách tạo đường dẫn đầu tiên của bạn

Leave a Reply

Your email address will not be published. Required fields are marked *