Files
dypid/.gitea/workflows/build.yaml
YGXB_net 7adcebee75
Some checks failed
构建Docker镜像 / build (push) Failing after 1m16s
构建Docker镜像 / deploy (push) Has been skipped
ops: 添加CI/CD构建和部署流程
2025-09-02 22:29:39 +08:00

58 lines
1.4 KiB
YAML

name: 构建Docker镜像
on: [ push ]
jobs:
build:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 构建Docker镜像
run: docker build -t dypid:latest .
- name: 导出镜像
run: docker save -o release/dypid.tar dypid:latest
- name: 上传镜像
uses: actions/upload-artifact@v3
with:
name: dypid-release
path: release/
deploy:
env:
RUNNER_TOOL_CACHE: /toolcache
needs: build
runs-on: ubuntu-latest
steps:
- name: 下载镜像
uses: actions/download-artifact@v3
with:
name: dypid-release
path: release
- name: 安装sshpass工具
run: |
apt update
apt install -y sshpass
- name: 部署程序到服务器
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_PASSWORD: ${{ secrets.SSH_PASSWORD }}
DEPLOY_DIR: "/data/dypid"
run: |
# 上传新镜像
sshpass -p "$SSH_PASSWORD" scp release/dypid.tar $SSH_USER@$SSH_HOST:/tmp/dypid.tar
# 重启程序
sshpass -p "$SSH_PASSWORD" ssh $DEPLOY_USER@$DEPLOY_HOST \
"
docker load -i /tmp/dypid.tar \
&& cd $DEPLOY_DIR \
&& docker compose up -d \
"