Go CI/CD Deploy to Baota / build-and-deploy (push) Failing after 5m12s
添加CI/CD工作流配置,实现代码推送时自动构建Go项目并部署到宝塔服务器 包含环境安装、项目编译、进程管理和部署重启步骤
37 lines
1021 B
YAML
37 lines
1021 B
YAML
name: Go CI/CD Deploy to Baota
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, master ]
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 拉取代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 安装 Go 环境
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: 1.22
|
|
|
|
- name: 编译 Go 项目
|
|
run: |
|
|
# 静态编译,无依赖,适合 Linux 部署
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app main.go
|
|
|
|
- name: 部署到宝塔项目目录并重启服务
|
|
run: |
|
|
# 1. 停止旧进程
|
|
pkill -f Volcano-Engine-TTS-UI || true
|
|
|
|
# 2. 复制新程序到项目目录
|
|
cp ./app /www/wwwroot/Volcano-Engine-TTS-UI/
|
|
|
|
# 3. 赋予执行权限
|
|
chmod +x /www/wwwroot/Volcano-Engine-TTS-UI/app
|
|
|
|
# 4. 启动新进程(后台运行)
|
|
nohup /www/wwwroot/Volcano-Engine-TTS-UI/app > /www/wwwroot/Volcano-Engine-TTS-UI/app.log 2>&1 &
|