基於github的CICD實踐

不合格的程式設計師發表於2021-07-19

前言

CICD 即持續整合持續部署,可以說是devops程式設計師的基礎吧,目前市場主流的方案是 Jenkins+gitlab的組合,我之前的東家有用過騰訊雲的coding中單持續整合部署,感覺簡單明瞭,不用自己維護jekins等中介軟體。github在2018年十月份推出了githubaction 即基於github的 cicd,入門教程參考阮雪峰大神的部落格 www.ruanyifeng.com/blog/2019/0…

強烈建議大家先看文件再看入門,分清先後順序,讓我們少走彎路

文件奉上 docs.github.com/cn/actions

github action實戰

首先要配置github環境

image.png

然後點選Secrets給環境變數賦值

image.png

maven.yml配置檔案


on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 1.8
        # 這裡使用java11的環境, 其他專案在github action中找到對應的語言環境就行
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Build with Maven
        # 這裡maven的打包命令, 其他專案修改為對應的打包命令
        run: |
          mvn package
      - name: scp jar upload tianyi cloud server
        uses: kostya-ten/ssh-server-deploy@v4
        with:
          scp_source: target/github-action-guide-0.0.1-SNAPSHOT.jar
          scp_target: /usr/opt
          host: ${{secrets.TIANYI_SERVER_IP}}
          username: root
          password: ${{ secrets.TIANYI_SERVER_PWD }}
      - name: Deploy to tianyi cloud server
        uses: fifsky/ssh-action@master
        with:
          host: ${{secrets.TIANYI_SERVER_IP}}
          user: root
          pass: ${{ secrets.TIANYI_SERVER_PWD }}
          command: cd /usr/opt && java -jar github-action-guide-0.0.1-SNAPSHOT.jar
複製程式碼

執行結果

image.png

現在還有一個小的缺陷就是 執行部署到遠端伺服器端命令的時候會把springboot應用的啟動日誌列印在github頁面造成 job延期,超時.

github :github.com/rottenmu/Gi…

相關文章