Publish And Deploy Nuxt Realworld #15
Workflow file for this run
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
name: Publish And Deploy Nuxt Realworld | |
defaults: | |
run: | |
working-directory: ./3.vue/5.server-render/nuxt-realworld | |
on: | |
push: | |
tags: | |
- v-realworld* | |
jobs: | |
build-and-deploy: | |
runs-on: ubuntu-latest | |
steps: | |
# 下载源码 | |
- name: Checkout | |
uses: actions/checkout@master | |
# 打包构建 | |
- name: SetUp nodejs | |
uses: actions/setup-node@master | |
# 安装pnpm | |
- name: Install pnpm | |
run: npm install -g pnpm | |
# 安装依赖 | |
- name: Install Dep | |
run: pnpm install | |
- name: Build | |
run: pnpm run build | |
- name: Compress | |
run: tar -zcvf release.tgz .output ecosystem.config.js | |
# 发布 Release | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
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@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./3.vue/5.server-render/nuxt-realworld/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 }} | |
script: | | |
cd /root/web/nuxt-realworld | |
wget https://github.com/laoriy/lagou-study/releases/latest/download/release.tgz -O release.tgz | |
tar zxvf release.tgz | |
pm2 reload ecosystem.config.js | |