CLASSFUNC BLOG
We Share Our Knowledge
Deploy CloudRun bằng Github workflow, devs và testers đều vui.
CloudRun
Lê Thành
2 Th08 2023 06:09

cloudrun-build-wf.drawio (2).svg

Khi developer báo test chức năng của API khi dev chưa đóng PR (nhánh chưa được merge) thì chúng ta phải làm thế nào?.

Qua bài này, chúng ta sẽ biết được cách triển khai điều đó bằng Github Workflow.

Các bước thực hiện:

  1. Cấp quyền và cử người đại diện (Service Account)
  2. Người đại diện xuất passport(Key) vào Repository, Github và GCP (Google Cloud Plaform) bắt tay nhau
  3. Kết nối với anh Repository bằng biên bản workflow
  4. Thông báo cho dev và testers bằng link.

Bắt đầu ▶️

1. Cấp quyền và cử người đại diện (Service Account)

Ảnh màn hình 2023-08-02 lúc 12.22.35.png

2. Người đại diện xuất passport vào Repository, Github và GCP (Google Cloud Plaform) bắt tay nhau

  • Truy cập vào GCP Service Account
  • Chọn người đại diện ở trên > Keys > Add Key > Xuất 1 key dưới dạng JSON
  • Xuất trình Key này vào Github Repository để có quyền truy cập:
    • Vào Repo trên github > Settings > Secret and variables > Actions > New repository secret >
    • Đặt tên key là GCP_CREDENTIALS và điền nội dung JSON vừa download về vào field Secret.

3. Kết nối với anh Repository bằng biên bản workflow

Vậy là Passport đã được thông qua, Service Account đã có quyền làm việc với anh Repo. 2 bên có biên bản công việc bằng workflow. Cùng thực hiện nhé.

Ảnh màn hình 2023-08-02 lúc 12.42.10.png

Ví dụ trên nghĩa là:

Khi 1 PR được mở ra nhằm merge vào nhánh stg thì thực hiện tạo 1 CloudRun vào GCP Project githubtube, region service tại Singapore, dùng Dockerfile-stg để build....

4. Thông báo cho dev và testers bằng link.

Sau khi chạy xong phải thông báo kết quả để các dev tự test, và các testers khi nhảy vào test thì biết link test là gì. Kết quả chạy ra được viết vào comment của PR đó, kiểu thế này:

Ảnh màn hình 2023-08-02 lúc 12.58.42.png

Nghĩa là PR#27 này đã có link riêng để test, hãy test trên url này nhé ;)

Khi soi revisions console sẽ thấy 1 revision được tạo ra:

Ảnh màn hình 2023-08-02 lúc 13.01.57.png

Kết luận

Tương tự, các bạn có thể bổ sung và chỉnh sửa các file cho nhánh main để release production, format xuất ra comment trên PR, setting này nằm trong các file .yalm tải về.

Xong rồi, đi uống bia thôi 🍻😃