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