Thành viên:Plantaest/Blog/Feverfew :: Quy trình CI/CD trên Toolforge

Feverfew được triển khai trên Toolforge với quy trình CI/CD cơ bản như sau. Khi có thêm thời gian, có thể áp dụng GitHub Actions để tự động hóa quy trình này.

Cấu trúc thư mục $HOME

sửa

Thư mục

sửa
  • caddy: Chứa Caddy v2.8.4
  • jre: Chứa JRE 21 (Termurin) trong thư mục con jdk-21.0.3+9-jre
  • html: Chứa các bản build của phần front-end (feverfew-client), gồm các thư mục con đặt tên theo version
  • jar: Chứa các bản build của phần back-end (feverfew-server), gồm các tệp JAR có kèm theo version
  • logs: Chứa các log của phần back-end Quarkus

Tệp

sửa
  • deploy-client.sh: Cập nhật bản build mới cho phần front-end
  • deploy-server.sh: Cập nhật bản build mới cho phần back-end
  • service.template: Tệp cấu hình mặc định cho webservice, được sử dụng khi chạy lệnh webservice start|restart
  • start.sh: Tệp kích hoạt khởi động máy chủ Caddy và Quarkus
  • Caddyfile: Tệp cấu hình Caddy Server

Local

sửa

Phần front-end (feverfew-client)

sửa
  1. pnpm build
  2. ./upload.sh

Phần back-end (feverfew-server)

sửa
  1. ./mvnw clean package
  2. ./upload.sh <VERSION>

Remote

sửa
  1. LC_CTYPE=en_US.UTF-8 LC_ALL=en_US.UTF-8 ssh -i ~/.ssh/id_ed25519 plantaest@login.toolforge.org
  2. become feverfew
  3. Cập nhật version mới:
    1. export VERSION=<VERSION>
    2. toolforge envvars create VERSION $VERSION

Deploy front-end

sửa
  1. ./deploy-client.sh <FILE_LINK>

Deploy back-end

sửa
  1. ./deploy-server.sh <FILE_LINK>

Start WebService

sửa
  1. webservice start|restart
  2. Theo dõi log: webservice logs -f -l 20