1 )概述
2 )工作原理
3 )yml 配置示例
在项目目录下新建 .github/workflows 目录, 在里面 新建 test.yml
name: Github Actions Test
on: [push]
jobs:
Test:
runs-on: ubuntu-latest
steps:
- run: echo "hello test"
- run: echo "${{ github.event_name }}"
可以看到,在里面可以使用环境变量和自定义变量, 同时,类似 jobs 下可定义多个任务,比如 再加一个 Test2
参考:https://docs.github.com/en/actions/learn-github-actions/environment-variables
上面的简单示例可以很明白的看清楚会发生什么
我们把代码提交到github, 在github的action上就会出现一条记录
点进去就可以看到具体运行的 job
在上面 test.yml 同级,新增 test2.yml
name: Github Actions Test2
on: [push]
jobs:
Test2:
runs-on: ubuntu-latest
steps:
- run: echo "hello test2"
- run: echo "${{ github.action }}"
- run: echo "${{ github.ref }}"
- run: echo "${{ github.repository }}"
这样,再次提交运行,就可以重新运行这2个 workflow 了
如果没有触发,可能由于提交到真实的主机上,或 workflows 目录或具体配置错误
1 )初步测试
name: Deploy xxx-project
on: [push]
jobs:
Deploy:
runs-on: ubuntu-latest
steps:
- uses: appleboy/ssh-action@v0.1.7
with:
host: $ {{ secrets.SSH_HOST }}
username: $ {{ secrets.SSH_USER }}
password: $ {{ secrets.SSH_PWD }}
script_stop: true
script: |
ls -al
touch test.txt
echo "hello deploy" >> test.txt
cat test.txt
2 )优化脚本
ssh 登录 ubuntu 服务器后,默认回到用户目录下面,也就是 ~
我们要重新修改脚本
name: Deploy xxx-project
on: [push]
jobs:
Deploy:
runs-on: ubuntu-latest
steps:
- uses: appleboy/ssh-action@v0.1.7
with:
host: $ {{ secrets.SSH_HOST }}
username: $ {{ secrets.SSH_USER }}
password: $ {{ secrets.SSH_PWD }}
script_stop: true
script: |
cd /root/resource/nginx/
ls -la
rm -rf 带部署项目目录
git clone git@github.com:某用户/某仓库.git -b $ {{ github.ref_name }}
cd 某仓库目录
npm install
npm run build
这样,基于此,将中文替换成自己的项目相关名称,即可完成一个前端项目的部署