Skip to content

Commit

Permalink
自动化部署
Browse files Browse the repository at this point in the history
  • Loading branch information
cghbh committed Jul 1, 2021
1 parent 48dc032 commit 33b237b
Show file tree
Hide file tree
Showing 3 changed files with 172 additions and 15,588 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Publish And Deploy Demo
on:
push:
tags:
- 'v*'

jobs:
# 构建和部署
build-and-deploy:
# 运行的环境
runs-on: centos-latest
steps:

# 下载源码
- name: Checkout
uses: actions/checkout@master

# 打包构建
- name: Build
uses: actions/setup-node@master
- run: npm install
- run: npm run build
# 发布压缩包到指定的服务器,后面是需要压缩的文件
# run: tar -zcvf release.tgz .nuxt static nuxt.config.js package.json package-lock.json pm2.config.json
- run: tar -zcvf release.tgz dist package.json package-lock.json pm2.config.json

# 发布 Release
- name: Create Release
id: create_release
uses: actions/create-release@master
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
# 是否是草稿
draft: false
# 是否是预发布,也就是说要发布一个正式版
prerelease: false

# 上传构建结果到 Release
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@master
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
# 上传的地址
upload_url: ${{ steps.create_release.outputs.upload_url }}
# 需要上传的文件,是通过上面的release得到的
asset_path: ./release.tgz
asset_name: release.tgz
asset_content_type: application/x-tgz

# 部署到服务器
- name: Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
# 移动到远程服务器中部署的文件夹
# 下载上传到GitHub到release包,并且解压
# 安装生产依赖项目
# 重新启动pm2服务
script: |
cd /data/www/xianyu-mobile/
wget https://github.com/lipengzhou/realworld-nuxtjs/releases/latest/download/release.tgz -O release.tgz
tar zxvf release.tgz
npm install --production
pm2 reload pm2.config.json
Loading

0 comments on commit 33b237b

Please sign in to comment.