Upstick Network: Quy trình làm việc trên GitHub với Slack.

Một vài tháng trước, khi đang tận hưởng sự yên bình và tĩnh lặng, chúng tôi nhận được thông báo từ bộ phận hỗ trợ rằng một trong những triển khai của chúng tôi đột nhiên thất bại. Điều đó không thực sự phù hợp khi một người chỉ biết về một thất bại sau một thời gian đã trôi qua. Tất nhiên, chúng tôi đã nhận được một email, nhưng ai là người đọc chúng? Và rõ ràng, khi có sự cố xảy ra, chúng tôi muốn biết ngay lập tức vì nó có thể ảnh hưởng rất lớn đến người dùng cuối của chúng tôi.

Vì vậy dự án và các nhóm của chúng tôi sử dụng Slack làm ứng dụng nhắn tin và thông báo chính cũng như GitHub Actions làm công cụ CI, nên chúng tôi đã nảy ra ý tưởng tích hợp thông báo Slack vào quy trình làm việc CI của mình.

Điều kiện tiên quyết:

  • Ứng dụng của chúng tôi là đa khu vực và có quy trình triển khai riêng cho từng khu vực
  • GitHub Actions được áp dụng như một công cụ cho CI/CD
  • Một nhóm sử dụng Slack làm người đưa tin.

Vì vậy, hãy xem các tùy chọn mà Slack và GitHub có thể cung cấp cho chúng ta và xem cách sử dụng chúng trong các tình huống cơ bản.

Tích hợp với Slack.

Cách dễ nhất là sử dụng tích hợp Slack(Slack integration). Chỉ cần mở liên kết, cấp quyền cho ứng dụng và sử dụng lệnh /invite để thêm tích hợp GitHub vào các kênh bạn cần. Sau đó, bạn nên liên kết tài khoản/tổ chức của mình với nó bằng cách sử dụng các lệnh như  sign in, subscribe, unsubscribe.

Nếu nhu cầu chỉ là nhận thông báo về các quy trình tiêu chuẩn như yêu cầu kéo, cam kết, chi nhánh, sự cố, bản phát hành, v.v., tốt hơn và đơn giản hơn để kích hoạt tích hợp này trong 5 phút.

Theo quan điểm của tôi, tích hợp nên được bật theo mặc định cho bất kỳ dự án nào. Đồng thời, không nên đưa mọi ‘sneeze’ vào tài khoản GitHub của bạn và bị đồng đội bỏ qua (thống nhất về quy tắc kiểm tra 1–2 lần mỗi ngày vào một thời điểm nhất định).

Tích hợp GitHub và Slack

Hãy xem thử: https://github.com/integrations/slack

Lưu ý: Các tùy chọn tiếp theo dành cho các thông báo tùy chỉnh không thể được tích hợp.

Hành động GitHub từ Marketplace.

Trước tiên, hãy tìm thứ gì đó tại GitHub Actions Marketplace. Mọi người thường chia sẻ các hành động được phát triển tùy chỉnh ở đó và bạn có thể kiểm tra và thử một hành động. Nhưng tôi muốn sử dụng thứ gì đó chính thức, được cung cấp bởi nhà cung cấp đáng tin cậy trước, hơn là thử thứ gì đó kỳ lạ và có thể không ổn định.

Hãy cùng xem ví dụ sử dụng  slack-send action  do chính Slack phát triển. Có một số tùy chọn để gửi thông báo bằng hành động này: quy trình làm việc Slack, ứng dụng Slack và webhook sắp tới. Hai cái cuối cùng đang gửi tải trọng thô dưới dạng tin nhắn, vì vậy bạn có thể thêm một số tính tương tác và biểu cảm thông qua Block Kit vào tin nhắn hoặc chỉ gửi một vài dòng văn bản thuần túy.

Ví dụ bên dưới minh họa thông báo được gửi khi một công việc thành công (xem câu lệnh “if”), với trạng thái của công việc và liên kết đến một lần chạy cụ thể để biết thêm chi tiết.

Ví dụ về thông báo Slack qua Slack API GitHub Action

Có rất nhiều hành động làm sẵn trên thị trường với một bộ thuộc tính cụ thể và tài liệu rõ ràng. Hãy thử chúng và tìm thấy kết hợp hoàn hảo.

Liên kết hữu ích:

Hành động GitHub tùy chỉnh.

Nếu không có tùy chọn nào ở trên phù hợp với tình huống cụ thể của bạn, thì bạn không còn lựa chọn nào khác ngoài việc viết hành động của riêng mình. Thậm chí có thể có một tập lệnh bash gửi thông báo tới webhook thông qua curl.

Slack notification qua curl

Việc tạo hành động tùy chỉnh nằm ngoài bài viết, nhưng tôi sẽ để lại liên kết tới tài liệu bên dưới.

Đọc thêm:

Kết luận

Slack notifications có thể thông báo cho bạn và các bên liên quan khác về hoạt động dự án của bạn. Nó có thể là triển khai, phát hành, yêu cầu kéo hoặc thứ gì đó khác và chắc chắn có thể gây phiền nhiễu. Tuy nhiên, lợi ích thực sự của nó là được thông báo ngay lập tức hơn là nhận ra rằng mọi thứ xảy ra sau một thời gian.

Cảm ơn vì đã đọc!

Thêm nội dung tại PlainEnglish.io. Đăng ký nhận bản tin miễn phí hàng tuần của chúng tôi: free weekly newsletter. Theo dõi chúng tôi trên Twitter và LinkedIn. Kiểm tra Community Discord  của chúng tôi và tham gia  Talent Collective.

Uptick NFT Interchain Marketplace trên Web & Mobile

Uptick NFT Marketplace là một nền tảng giúp người dùng tạo, thu thập và giao dịch NFT cực kỳ dễ dàng. Với nhiều người sáng tạo toàn cầu và nhiều danh mục NFT, bao gồm hỗ trợ cho các định dạng phương tiện khác nhau, Uptick NFT Marketplace phục vụ nhiều đối tượng.

Upstick có thể truy cập qua web và thiết bị đầu cuối di động, nền tảng giàu tính năng này có ít rào cản gia nhập để tạo NFT và cung cấp nhiều mô hình bán hàng khác nhau để giúp người dùng đạt được kết quả bán hàng đa dạng. Cho dù bạn là người sáng tạo, nhà sưu tập hay chỉ muốn khám phá thế giới NFT, Uptick NFT Marketplace là một nơi tuyệt vời để bắt đầu.

Bài viết mới nhất

Sự Bùng Nổ Của Thời Đại Multi-Chain

Thời đại Multi-Chain đang đến với một loạt ứng dụng mới hứa hẹn tận dụng sức mạnh của web3 mà không bị giới hạn...

Agoric: Sử dụng Orchestration với 5 thiết kế ứng dụng đa chuỗi.

Đối với Orchestration, Five Multi-Chain App Designs - 5 Thiết Kế Ứng Dụng Đa Chuỗi, là một khái niệm quan trọng. Agoric sắp ra...

Tầm nhìn về Liquid Staking và Restaking của Persistence One.

Tầm nhìn của chúng tôi về Liquid Staking và Restaking là xem xét sự phát triển và ứng dụng của công nghệ blockchain trong...

Chuyển đổi an ninh của Bitcoin sang Persistence One.

Persistence One hợp tác với Babylon để mở khóa tiềm năng của 21 triệu BTC nhằm bảo vệ hệ sinh thái Liquid Staking và...