1、上传代码后,在github中添加自定义action
2、输入以下代码,并保存(会自动生成一个yml工作流文件)
#Author:Eiwen
#Date: 2024/04/16
name: 阿飞的workflow
on: push
jobs:
my-job:
name: 测试任务
runs-on: ubuntu-latest
steps:
- name: 打印文本
run: |
echo 我的名字是阿飞
- name: 下载源码文件
uses: actions/checkout@master
- name: 上传文件到服务器
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
source: "*"
target: "./website/eiwen-disk"
- name: 执行远程SSH命令
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
cd website/eiwen-disk
npm i
npm i pm2 -g
pm2 reload bin/www --name disk
3、设置好服务器敏感变量
注:基于linux服务器,创建完文件后,该文件就是以后你的代码工作流,每次上传代码的时候就会自动执行yml中的工作流(github会提供一个临时小型linux系统用于执行工作流),该文件会自动保存到项目.github/workflows中,并且不可删除,否则工作流不会执行。本工作流代码是一个nodejs项目,首次运行时需要将pm2 reload bin/www --name disk 改成 pm2 start bin/www --name disk。
有关yml的使用方法大家可以看看相关文档,学会后还是很好玩的。