Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何部署到服务器 #39

Closed
lsj980Ya opened this issue Mar 19, 2024 · 3 comments
Closed

如何部署到服务器 #39

lsj980Ya opened this issue Mar 19, 2024 · 3 comments

Comments

@lsj980Ya
Copy link

请问如何部署到服务器

@buqiyuan
Copy link
Owner

首先确保你的 mysql、redis 服务正常可用,然后在 .env.production 文件中修改对应的连接配置。
然后在项目根目录执行 pnpm build 进行打包,打包完成之后执行 pnpm start:prod 查看程序是否正常运行,若程序正常运行,则可 CTRL + C 终止程序,然后全局安装 pm2 node进程管理工具,安装完整后执行 pnpm prod:pm2即可。

@lsj980Ya
Copy link
Author

那这样这个docker-composer 文件的用处就没了吗?能做到 cicd触发自动部署的吗

@buqiyuan
Copy link
Owner

buqiyuan commented Mar 19, 2024

部署的方式 N 种,你也没说清楚你的诉求呀。。。ps:请问如何部署到服务器 => 请问如何通过 docker 部署到服务器

当然可以做到 CI/CD 自动部署,不过是通过 SSH 远程登录到服务器进行部署操作。(个人推荐直接使用 pm2 进行部署)

docker CI/CD 例子

deploy:
runs-on: ubuntu-latest
needs: docker
steps:
- name: Deploy to remote server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USERNAME }}
password: ${{ secrets.REMOTE_PASSWORD }}
port: ${{ secrets.REMOTE_PORT }}
script: |
cd ${{ secrets.REMOTE_WORKDIR }}
pnpm docker:prod:up
docker cp ./public/ nest-admin-server:/nest-admin/public
docker image prune -f
docker container prune -f

pm2 CI/CD例子

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy to remote server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USERNAME }}
password: ${{ secrets.REMOTE_PASSWORD }}
port: ${{ secrets.REMOTE_PORT }}
script: |
cd ${{ secrets.REMOTE_WORKDIR }}
git reset --hard origin/main
git pull
pnpm install
pnpm build
echo "${{ secrets.DEPLOY_ENV_FILE }}" > .env
echo "${{ secrets.DEPLOY_ENV_PROD_FILE }}" > .env.production
pnpm prod:pm2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants