-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
172 additions
and
15,588 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Oops, something went wrong.