Skip to content

Commit 308e5ad

Browse files
author
yqz
committed
修改cicd文件
1 parent 96bfd93 commit 308e5ad

3 files changed

Lines changed: 19 additions & 4 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,30 @@ jobs:
5656
cp -r vue/dist release/dist
5757
cp vue/Dockerfile vue/docker.sh vue/nginx.conf release/
5858
59+
# 在 GitHub Runner 构建镜像并导出,避免国内服务器直连 Docker Hub 拉取 nginx:alpine 超时
60+
- name: Build Docker image on runner
61+
run: |
62+
docker build -t openblog-web release/
63+
docker save openblog-web | gzip > release/openblog-web.tar.gz
64+
5965
- name: Deploy files to server
6066
uses: easingthemes/ssh-deploy@v5.1.1
6167
with:
6268
SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
6369
ARGS: "-rlgoDzvc --delete --exclude=dist/.user.ini"
64-
SOURCE: "release/dist release/Dockerfile release/docker.sh release/nginx.conf"
70+
SOURCE: "release/dist release/Dockerfile release/docker.sh release/nginx.conf release/openblog-web.tar.gz"
6571
REMOTE_HOST: ${{ secrets.SERVER_REMOTE_HOST }}
6672
REMOTE_USER: ${{ secrets.SERVER_REMOTE_USER }}
6773
TARGET: ${{ secrets.SERVER_TARGET }}
6874
SCRIPT_BEFORE: ls -la
6975

7076
- name: Run Docker commands on server
71-
uses: appleboy/ssh-action@v1
77+
uses: appleboy/ssh-action@v1.2.0
7278
with:
7379
host: ${{ secrets.SERVER_REMOTE_HOST }}
7480
username: ${{ secrets.SERVER_REMOTE_USER }}
7581
key: ${{ secrets.SERVER_SSH_KEY }}
82+
command_timeout: 30m
7683
script: |
7784
cd ${{ secrets.SERVER_TARGET }}
7885
sh docker.sh

‎vue/Dockerfile‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM nginx:alpine
1+
# CI 会在 GitHub Runner 构建镜像;本地/服务器手动 build 时使用国内可访问的镜像源
2+
FROM docker.m.daocloud.io/library/nginx:alpine
23
COPY dist /usr/share/nginx/html
34
EXPOSE 80
45
CMD ["nginx", "-g", "daemon off;"]

‎vue/docker.sh‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@ docker stop "$NAME" 2>/dev/null || true
1111
docker rm "$NAME" 2>/dev/null || true
1212
docker rmi "$NAME" 2>/dev/null || true
1313

14-
docker build -t "$NAME" "$DIR"
14+
IMAGE_TAR="$DIR/openblog-web.tar.gz"
15+
if [ -f "$IMAGE_TAR" ]; then
16+
echo "Loading pre-built image from CI..."
17+
gunzip -c "$IMAGE_TAR" | docker load
18+
else
19+
echo "Building image locally (manual deploy)..."
20+
docker build -t "$NAME" "$DIR"
21+
fi
1522

1623
docker run -d \
1724
-p "${HOST_PORT}:80" \

0 commit comments

Comments
 (0)