优化部署

This commit is contained in:
sijinhui 2024-01-28 00:19:00 +08:00
parent 7a8db39a2a
commit 41387e5f71
3 changed files with 36 additions and 35 deletions

View File

@ -4,43 +4,38 @@ on:
push: push:
branches: branches:
- dev - dev
# paths:
# - 'app/**'
# - 'public/**'
# - '.github/**'
# - 'docker-compose.yml'
# - 'Dockerfile'
# - 'package.json'
jobs: jobs:
# build: build:
# name: build image to aly name: build test image to aly
# # runs-on: "103.200" runs-on: ty
# runs-on: thinkpad # runs-on: ubuntu-latest
# # runs-on: ubuntu-latest # runs-on: self-hosted
# # runs-on: self-hosted steps:
# steps: - name: Check out the repo
# - name: Check out the repo uses: actions/checkout@v3
# uses: actions/checkout@v3 with:
# with: ref: 'dev'
# clean: true clean: false
# ref: 'dev' - name: build and deploy to Docker Hub
# - name: build and deploy to Docker Hub run: |
# run: | echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
# echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin echo "${{ secrets.DOCKER_ENV }}" > .env
# echo "${{ secrets.DOCKER_ENV }}" > .env echo "COMPOSE_PROJECT_NAME=test-chatgpt-web" > .env
# docker-compose build bash ./start.sh
# docker-compose push # 替换测试镜像
# yes | docker system prune --filter "until=168h" sed -i 's@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test@g' docker-compose.yml
docker-compose build
docker-compose push
yes | docker system prune --filter "until=168h"
deploy: deploy:
name: 部署到dev服务器 name: 部署到dev服务器
#needs: z4
runs-on: z4 runs-on: z4
steps: steps:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
clean: false clean: true
ref: 'dev' ref: 'dev'
- name: Set up SSH key - name: Set up SSH key
uses: webfactory/ssh-agent@v0.8.0 uses: webfactory/ssh-agent@v0.8.0
@ -49,8 +44,8 @@ jobs:
- name: Sync repository to tx - name: Sync repository to tx
run: | run: |
yes | docker image prune yes | docker image prune
rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/ChatGPT-Next-Web rsync -az -e 'ssh -o StrictHostKeyChecking=no' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/test/ChatGPT-Next-Web
- name: deploy-to-ty - name: deploy-to-tx
uses: appleboy/ssh-action@master uses: appleboy/ssh-action@master
env: env:
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量 SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
@ -60,9 +55,13 @@ jobs:
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!! key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量 envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
script: | script: |
cd $SERVER_WORKDIR #进入到工作目录 cd /data/test/ChatGPT-Next-Web
echo "${{ secrets.DOCKER_ENV }}" > .env echo "${{ secrets.DOCKER_ENV }}" > .env
bash ./start.sh # 测试分支,
echo "COMPOSE_PROJECT_NAME=test-chatgpt-web" > .env
sed -i 's@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web@image: registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test@g' docker-compose.yml
echo ${{ secrets.ALY_DOCKER_PASSWORD }} | docker login registry.cn-hangzhou.aliyuncs.com -u ${{ secrets.ALY_DOCKER_USERNAME }} --password-stdin
docker-compose pull && docker-compose up -d
yes | docker image prune
rm -rf /www/server/nginx/proxy_cache_dir/* rm -rf /www/server/nginx/proxy_cache_dir/*
rm -rf /www/server/nginx/proxy_temp_dir/* rm -rf /www/server/nginx/proxy_temp_dir/*
sleep 2

View File

@ -16,7 +16,7 @@ jobs:
build: build:
name: build image to aly name: build image to aly
# runs-on: "103.200" # runs-on: "103.200"
runs-on: aws runs-on: ty
# runs-on: ubuntu-latest # runs-on: ubuntu-latest
# runs-on: self-hosted # runs-on: self-hosted
steps: steps:

View File

@ -19,3 +19,5 @@ rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server
rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken
docker network create chatgpt-ns 2>/dev/null