52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
name: build-and-deploy
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
|
||
jobs:
|
||
build-and-deploy:
|
||
runs-on: arm
|
||
container:
|
||
image: catthehacker/ubuntu:act-latest
|
||
steps:
|
||
- name: 获取代码
|
||
uses: actions/checkout@v4
|
||
|
||
- name: 安装 Go
|
||
uses: actions/setup-go@v5
|
||
with:
|
||
go-version: '1.22'
|
||
|
||
- name: 构建后端服务 (Server)
|
||
run: |
|
||
cd server
|
||
go build -o server_bin ./cmd/server
|
||
|
||
- name: 安装 Node.js
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version: '20'
|
||
|
||
- name: 构建浏览器扩展 (Extension)
|
||
run: |
|
||
cd extension
|
||
npm install
|
||
npm run build
|
||
|
||
- name: 部署到测试服务器
|
||
uses: up9cloud/action-rsync@master
|
||
env:
|
||
USER: root
|
||
HOST: 144.24.60.0
|
||
KEY: ${{secrets.USAARMLOGIN_SSH_KEY}}
|
||
# 根据你的实际需要,调整要排除的文件及目录。
|
||
# 这里排除了 .git,以及前端的 node_modules 和 src 等源码。
|
||
ARGS: -avz --delete --exclude='.git/' --exclude='extension/node_modules/' --exclude='extension/src/'
|
||
SSH_ARGS: "-p 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||
# 如果你要部署整个项目根目录,使用 ./
|
||
SOURCE: ./
|
||
# 请将 TARGET 替换为你在此项目的实际部署路径
|
||
TARGET: /var/admin/InsightReply/
|
||
VERBOSE: true
|