CI部署 ==> github项目自动化部署阿里云

最近做了一个项目自动化部署到阿里云上的CI,主要是利用了github上的Actions,步骤如下:

  • 首先在github的Actions中生成new workFlow,然后会在项目中自动生成.github/workflow文件夹
  • 在其中的main.yml文件中配置CI指令
    name: CI
    on: [push]
    jobs:
        build:
            runs-on: ubuntu-latest
            steps:
                # 切换分支
                - name: Checkout
                  uses: actions/checkout@master
                # 下载 git submodule
                - uses: srt32/git-actions@v0.0.3
                  with:
                      args: git submodule update --init --recursive
                # 使用 node:10
                - name: use Node.js
                  uses: actions/setup-node@v1
                  with:
                      node-version: '12.x'
                # npm install
                - name: npm install and build
                  run: |
                      cd my-site
                      npm install
                      npm install -g gatsby-cli
                      gatsby build
                  env:
                      CI: false
    
                # Deploys
                # Deploys
    
                - name: Deploy
                  uses: easingthemes/ssh-deploy@main   //Actions插件
                  env:
                      SSH_PRIVATE_KEY: ${{ secrets.ACCESS_TOKEN }} //采用ssh来简历连接
                      ARGS: '-avz --delete'
                      SOURCE: 'my-site/public/' //打包后的文件源
                      REMOTE_HOST: 'IP地址'     //服务器的IP地址
                      REMOTE_USER: 'root'     //服务端角色
                      TARGET: '/www/public'  //服务器target地址(建议目标地址不要超过两层)          
       
  • easingthemes/ssh-deploy@main 主要使用该插件来进行两端的数据同步
原文地址:https://www.cnblogs.com/web-zs/p/15385049.html