- vừa được xem lúc

Tự động deploy Service trên Bizfly App Engine sử dụng Gitlab CI

0 0 23

Người đăng: Hoàng Việt

Theo Viblo Asia

Mở đầu

Bài viết này mình sẽ hướng dẫn mọi người tích hợp tính năng Webhook Deploy mới có trên Bizfly App Engine để triển khai ứng dụng tự động sử dụng Gitlab CI. Bài viết này sẽ rất hữu ích cho những bạn đang triển khai Service từ nguồn là Gitlab. Mục đích cần đạt được là mỗi khi bạn push code mới lên trên repo tại Gitlab, App Engine sẽ nhận được yêu cầu và tiến hành triển khai phiên bản mới từ source code mới đó.

Tính năng Webhook Deploy này sẽ giúp bạn:

  • Nhanh chóng đưa ra được phiên bản mới cho người dùng
  • Tự động hóa quá trình cập nhật

Khá đơn giản đúng không nào 😄. Trong bài này mình sẽ hướng dẫn cách thức tích hợp đơn giản nhất để tránh gây khó hiểu khi áp dụng, nếu bạn cần áp dụng cho trường hợp phức tạp hơn mà không biết làm thế nào có thể comment ở phía dưới mình sẽ hỗ trợ. Okay, chúng ta cùng bắt tay vào thực hiện luôn nhé!

Bước 1: Kích hoạt tính năng Webhook Deploy

Để kích hoạt tính năng Webhook Deploy, bạn cần truy cập vào Service của bạn trên Bizfly App Engine và chọn Chi tiết.

Nếu bạn chưa từng sử dụng Bizfly App Engine thì tham khảo bài viết này nhé! Một nền tảng triển khai ứng dụng serverless đáng để thử đó 😄

Trong trang này sẽ chứa các thông tin về service của bạn, bao gồm Webhook Deploy. Bạn cần click vào nút bật trong mục Webhook Deploy để kích hoạt tính năng này. Mặc định tính năng này sẽ được tắt.

Sau khi kích hoạt tính năng Webhook Deploy, bạn sẽ nhận được một Webhook URL. Đây là URL mà bạn sẽ sử dụng để gửi request bằng phương thức POST đến để triển khai phiên bản mới cho service của bạn.

Hệ thống sẽ xác thực yêu cầu triển khai phiên bản mới bằng trường TOKEN được gắn trong request, chính vì thế bạn cần lưu ý không bao giờ chia sẻ Webhook URL này với bất kỳ ai. Bất cứ ai có Token đều có thể yêu cầu triển khai lại phiên bản mới cho service của bạn.

Ngoài ra bạn có thể nhấn nút bên cạnh URL để tạo ra một token mới. Sau khi tạo token mới, bạn cần cập nhật lại token mới này vào các nơi sử dụng Webhook Deploy để có thể tiếp tục sử dụng.

Như vậy sau bước này ta đã có URL để có thể call thực hiện triển khai phiên bản mới cho service.

Bước 2: Tạo secret trong repo Gitlab của bạn

Để tích hợp Webhook Deploy cho repository của bạn trên Github, bạn cần tạo Secret trong repository để lưu trữ Webhook URL theo các bước như sau:

Trong repository của bạn chọn Settings -> CI/CD -> Variables -> Add variable

Tạo Secret mới, đặt tên cho Secret là WEBHOOK_URL và nhập giá trị là Webhook URL của service của bạn trên Bizfly App Engine, sau đó ấn Add variable.

Bước 3: Cấu hình Gitlab CI cho repo của bạn

Để kích hoạt Gitlab CI trong repo, bạn chỉ cần tạo file .gitlab-ci.yml trong repository của bạn với nội dung như sau:

stages: # Định nghĩa các bước sẽ chạy - deploy deploy: stage: deploy image: alpine:latest script: - apk add curl - curl -X POST $WEBHOOK_URL # Thực hiện gửi request POST đến Webhook deploy only: - master # Chỉ chạy trên nhánh master

File .gitlab-ci.yml bên trên có mục đích thực hiện gửi request với phương thức POST đến Webhook URL của service của bạn trên Bizfly App Engine khi có sự kiện push lên branch master.

Sau khi cấu hình thanh công, bạn có thể thực hiện push code lên branch master để kiểm tra kết quả.

Tại mục CI/CD của repository của bạn, bạn sẽ thấy có một job được thực hiện là deploy như hình.

Vào xem chi tiết từng job, bạn sẽ thấy job deploy đã được thực hiện với status_code trả về là 200 thì việc yêu cầu triển khai lại phiên bản mới đã thành công.

Quay trở lại trang quản trị service của bạn trên Bizfly App Engine, bạn sẽ thấy đã có một phiên bản mới được triển khai.

Như vậy từ giờ trở đi với mỗi sự thay đổi trên branch master, Service chạy tại App Engine sẽ được tự động triển khai mới.

Kết

Cám ơn các bạn đã đọc tận đến đây 🥳. Bizfly App Engine là một nền tảng triển khai ứng dụng đa ngôn ngữ mới được mình và team phát triển gần đây, nền tảng hiện đang miễn phí triển khai ứng dụng bạn có thể tạo tài khoản và trải nghiệm nhé! Mình cũng đã có nhiều bài hướng dẫn triển khai các ứng dụng khác nhau trong Series BizflyCloud App Engine Tutorials

Bất cứ góp ý nào cũng rất quý với bọn mình, bạn có thể liên hệ trực tiếp với mình qua Telegram @HoangViet12 để góp ý hoặc yêu cầu hỗ trợ nhé! Follow mình và Up Vote nếu bài viết giúp ích cho bạn hoặc muốn theo dõi thêm các bài viết khác nhé.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cấu hình CI/CD với Github (phần 1): Một ít lý thuyết

CI/CD là gì. Về mặt khái niệm là vậy nhưng về mặt triển khai thì CI/CD là quá trình tự động thực hiện các quá trình build, test, release, deploy khi có các trigger như commit/merge code lên một branch định sẵn hoặc có thể là tự động chạy theo một lịch cố định.

0 0 118

- vừa được xem lúc

Deploy với Ubuntu VPS (Phần 3) Làm thế nào để có thể auto deploy project Laravel

Lời mở đầu. Xin chào các bạn.

0 0 19

- vừa được xem lúc

Tự động deploy Service trên Bizfly App Engine sử dụng Github Actions

Mở đầu. Bài viết này mình sẽ hướng dẫn mọi người tích hợp tính năng Webhook Deploy mới có trên Bizfly App Engine để triển khai ứng dụng tự động sử dụng Github Actions.

0 0 17

- vừa được xem lúc

Deploy NodeJS API App Using ExpressJS, MongoDB with Render

1. Giới thiệu. . Render là một nền tảng đám mây mạnh mẽ cho phép triển khai các ứng dụng web và dịch vụ API một cách dễ dàng.

0 0 25

- vừa được xem lúc

CI/CD - GitHub Actions và các kiến thức cơ bản

CI/CD cơ bản. Đặt vấn đề.

0 0 9

- vừa được xem lúc

Nâng cao chất lượng code và hiệu quả làm việc nhóm với Husky, Lint-Staged, CommitLint

Chào mừng các bạn đã quay trở lại với blog của mình, lại là mình đây (dù chả ai biết mình là ai ). Hôm nay không Docker cũng chẳng VueJS , mà chúng ta sẽ cùng nhau tìm hiểu cách cải thiện chất lượng c

0 0 100