Merge pull request #90 from sijinhui/dev

Dev
This commit is contained in:
sijinhui 2024-05-11 21:27:46 +08:00 committed by GitHub
commit 9723d0ec38
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 74 deletions

View File

@ -1,4 +1,4 @@
name: DEV DEPLOY TO TX name: DEV DEPLOY
on: on:
workflow_dispatch: workflow_dispatch:
# push: # push:
@ -16,7 +16,7 @@ jobs:
with: with:
ref: 'dev' ref: 'dev'
clean: false clean: false
github-server-url: 'https://gh.siji.ci' #github-server-url: 'https://gh.siji.ci'
- 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
@ -31,7 +31,7 @@ jobs:
yes | docker system prune --filter "until=168h" yes | docker system prune --filter "until=168h"
deploy: deploy:
name: 部署到dev服务器 name: 部署到dev服务器
runs-on: self runs-on: ubuntu-latest
needs: build needs: build
steps: steps:
- name: Check out the repo - name: Check out the repo
@ -44,22 +44,23 @@ jobs:
uses: webfactory/ssh-agent@v0.9.0 uses: webfactory/ssh-agent@v0.9.0
with: with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Sync repository to tx - name: Sync repository to test server
run: | run: |
yes | docker image prune sudo apt-get update && sudo apt-get install -y rsync
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.TX_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web' ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.UIYJ_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@tx.xiaosi.cc:/data/test/ChatGPT-Next-Web rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@${{ secrets.UIYJ_SSH_IP }}:/data/test/ChatGPT-Next-Web
- name: deploy-to-tx - 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 }} #传递工作目录变量
with: with:
host: ${{ secrets.TX_SSH_IP }} #服务器地址 host: ${{ secrets.UIYJ_SSH_IP }} #服务器地址
username: root #用户名 username: root #用户名
port: ${{ secrets.SSH_PORT }} port: ${{ secrets.SSH_PORT }}
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: |
mkdir -p /data/test/ChatGPT-Next-Web
cd /data/test/ChatGPT-Next-Web cd /data/test/ChatGPT-Next-Web
echo "${{ secrets.DOCKER_ENV }}" > .env echo "${{ secrets.DOCKER_ENV }}" > .env
# 测试分支, # 测试分支,
@ -73,36 +74,3 @@ jobs:
yes | docker image prune yes | docker image prune
rm -rf /www/server/nginx/proxy_cache_dir/* || true rm -rf /www/server/nginx/proxy_cache_dir/* || true
rm -rf /www/server/nginx/proxy_temp_dir/* || true rm -rf /www/server/nginx/proxy_temp_dir/* || true
- name: Sync repository to xy-nm
run: |
yes | docker image prune
ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }} root@${{ secrets.NM_SSH_IP }} 'mkdir -p /data/test/ChatGPT-Next-Web'
rsync -az -e 'ssh -o StrictHostKeyChecking=no -p${{ secrets.SSH_PORT }}' --delete $GITHUB_WORKSPACE/ root@xy-nm.xiaosi.cc:/data/test/ChatGPT-Next-Web
- name: deploy-to-xy-nm
uses: appleboy/ssh-action@master
env:
SERVER_WORKDIR: ${{ secrets.SERVER_WORKDIR }} #传递工作目录变量
with:
host: ${{ secrets.NM_SSH_IP }} #服务器地址
username: root #用户名
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_PRIVATE_KEY }} #私钥 安全问题一定都以变量的方式传递!!!
envs: SERVER_WORKDIR,ALY_DOCKER_PASSWORD,ALY_DOCKER_USERNAME,DOCKER_ENV #使用工作目录变量
script: |
cd /data/test/ChatGPT-Next-Web
echo "${{ secrets.DOCKER_ENV }}" > .env
# 测试分支,
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
sed -i 's|23000:|23001:|g' docker-compose.yml
sed -i 's|container_name:|#container_name:|g' docker-compose.yml
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
docker-compose pull && docker-compose up -d
yes | docker image prune
rm -rf /www/server/nginx/proxy_cache_dir/* || true
rm -rf /www/server/nginx/proxy_temp_dir/* || true

View File

@ -1,37 +1,30 @@
#!/bin/bash #!/bin/bash
set -e set -e
# 加速 ## 加速
yarn config set registry 'https://registry.npmmirror.com/' #yarn config set registry 'https://registry.npmmirror.com/'
yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp" #yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"
yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips" #yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"
# 官方 ## 官方
#yarn config delete registry ##yarn config delete registry
#yarn config delete sharp_binary_host ##yarn config delete sharp_binary_host
#yarn config delete sharp_libvips_binary_host ##yarn config delete sharp_libvips_binary_host
yarn cache clean
yarn install
#if command -v cnpm &> /dev/null
#then
# echo "cnpm 已安装"
#else
# npm i cnpm
#fi
# #
#cnpm i #yarn cache clean
yarn run build #yarn install
#
mkdir -p "./node_modules/tiktoken" #yarn run build
export OUT_DIR="out" #
#mkdir -p "./node_modules/tiktoken"
mkdir -p ${OUT_DIR} #export OUT_DIR="out"
#
rsync -az --delete ./.next/standalone/ ${OUT_DIR} #mkdir -p ${OUT_DIR}
rsync -az --delete ./public/ ${OUT_DIR}/public #
rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static #rsync -az --delete ./.next/standalone/ ${OUT_DIR}
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server #rsync -az --delete ./public/ ${OUT_DIR}/public
rsync -az --delete ./.next/server/ ${OUT_DIR}/.next/server #rsync -az --delete ./.next/static/ ${OUT_DIR}/.next/static
rsync -az --delete "./node_modules/tiktoken/" ${OUT_DIR}/node_modules/tiktoken #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
docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
@ -39,8 +32,8 @@ docker network ls | grep -qw chatgpt-ns || docker network create chatgpt-ns
if ! docker buildx inspect mybuilder &> /dev/null; then if ! docker buildx inspect mybuilder &> /dev/null; then
docker buildx create --use --name=mybuilder docker buildx create --use --name=mybuilder
fi fi
#docker build -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build . #docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build --load .
docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile.linux-build --load . docker buildx build --platform linux/amd64 -t registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp -f Dockerfile --load .
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:latest docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:latest
docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test docker tag registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:temp registry.cn-hangzhou.aliyuncs.com/si-private/chatgpt-next-web:test