微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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/[email protected]
                  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 主要使用该插件来进行两端的数据同步

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐