前言
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…