优化工作流,添加app-icon
This commit is contained in:
29
.github/workflows/docker-build-deploy.yml
vendored
29
.github/workflows/docker-build-deploy.yml
vendored
@@ -41,6 +41,7 @@ env:
|
||||
IMAGE_NAME: lifecho-api
|
||||
REGISTRY: crpi-u2903xccyzd6nqnc.cn-shanghai.personal.cr.aliyuncs.com
|
||||
REGISTRY_NAMESPACE: huaga
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
@@ -51,7 +52,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
||||
@@ -88,7 +89,7 @@ jobs:
|
||||
type=raw,value=latest,enable={{is_default_branch}}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./api
|
||||
file: ./api/Dockerfile
|
||||
@@ -106,7 +107,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
||||
@@ -147,13 +148,13 @@ jobs:
|
||||
# 勿用 `prod && PROD_KEY || DEV_KEY`:PROD 为空时会错误回退到 DEV 密钥,导致连生产机报 Permission denied。
|
||||
- name: Set up SSH (production)
|
||||
if: steps.deploy_target.outputs.target == 'prod'
|
||||
uses: webfactory/ssh-agent@v0.9.0
|
||||
uses: webfactory/ssh-agent@v0.9.1
|
||||
with:
|
||||
ssh-private-key: ${{ secrets.PROD_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Set up SSH (development)
|
||||
if: steps.deploy_target.outputs.target != 'prod'
|
||||
uses: webfactory/ssh-agent@v0.9.0
|
||||
uses: webfactory/ssh-agent@v0.9.1
|
||||
with:
|
||||
ssh-private-key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
|
||||
|
||||
@@ -221,8 +222,9 @@ jobs:
|
||||
docker network inspect api_life-echo-network >/dev/null 2>&1 || docker network create api_life-echo-network
|
||||
"
|
||||
|
||||
echo "上传候选 compose 与环境变量..."
|
||||
echo "上传候选 compose、Caddyfile 与环境变量..."
|
||||
scp -P "$SSH_PORT" ./api/docker-compose.yml "$SSH_USER@$SSH_HOST:$COMPOSE_DIR/api/docker-compose.candidate.yml"
|
||||
scp -P "$SSH_PORT" ./api/Caddyfile "$SSH_USER@$SSH_HOST:$COMPOSE_DIR/api/Caddyfile.candidate"
|
||||
scp -P "$SSH_PORT" ./api/.env.production "$SSH_USER@$SSH_HOST:$COMPOSE_DIR/api/.env.production.candidate"
|
||||
|
||||
ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST" "
|
||||
@@ -247,10 +249,14 @@ jobs:
|
||||
if [ -f '$COMPOSE_FILE' ]; then
|
||||
cp '$COMPOSE_FILE' '${COMPOSE_FILE}.predeploy'
|
||||
fi
|
||||
if [ -f 'Caddyfile' ]; then
|
||||
cp 'Caddyfile' 'Caddyfile.predeploy'
|
||||
fi
|
||||
if [ -f '.env.production' ]; then
|
||||
cp '.env.production' '.env.production.predeploy'
|
||||
fi
|
||||
mv 'docker-compose.candidate.yml' '$COMPOSE_FILE'
|
||||
mv 'Caddyfile.candidate' 'Caddyfile'
|
||||
mv '.env.production.candidate' '.env.production'
|
||||
docker-compose -f '$COMPOSE_FILE' up -d --remove-orphans
|
||||
echo '等待服务启动...'
|
||||
@@ -290,5 +296,16 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CADDY_CID=\$(docker-compose ps -q caddy || true)
|
||||
if [ -n \"\$CADDY_CID\" ]; then
|
||||
CADDY_STATE=\$(docker inspect -f '{{.State.Status}}' \"\$CADDY_CID\")
|
||||
echo \"caddy state: \$CADDY_STATE\"
|
||||
if [ \"\$CADDY_STATE\" != 'running' ]; then
|
||||
echo 'caddy 容器未处于 running 状态'
|
||||
docker-compose logs --tail=80 caddy || true
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
docker-compose logs --tail=50 api
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user