前言
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環境
然後點選Secrets給環境變數賦值
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
複製程式碼
執行結果
現在還有一個小的缺陷就是 執行部署到遠端伺服器端命令的時候會把springboot應用的啟動日誌列印在github頁面造成 job延期,超時.
github :github.com/rottenmu/Gi…