努力了這麼久,但凡是有點兒天賦,也該有些成功的跡象了。html
本篇文章引導你使用Jenkins
部署SpringBoot
項目,同時使用Docker
和Git
實現簡單的持續集成和持續部署。(項目地址:sso-merryyou)java
流程圖以下:git
push
代碼到Github
觸發WebHook
。(因網絡緣由,本篇使用gitee)Jenkins
從倉庫拉去代碼mavem
構建項目build
鏡像push
鏡像到鏡像倉庫(本篇使用的鏡像倉庫爲網易鏡像倉庫)從jenkins.io/download/下載對應的jenkins
github
訪問本地:http://localhost:8080輸入密碼docker
進入用戶自定義插件界面,選擇第二個(由於咱們本次構建使用的爲Pipelines
)小程序
勾選與Pipelines
相關的插件微信小程序
等待插件安裝完成安全
系統管理-》全局工具配置 配置Git,JDK和Maven微信
系統管理-》全局安全配置網絡
新建任務-》流水線
勾選觸發遠程構建 (WebHooks觸發地址),填寫簡單的Pipeline script
#!groovy
pipeline{
agent any
stages {
stage('test'){
steps {
echo "hello world"
}
}
}
}
複製代碼
當即構建
控制檯輸出
使用natapp實現內網穿透
修改Pipeline script
#!groovy
pipeline{
agent any
//定義倉庫地址
environment {
REPOSITORY="https://gitee.com/merryyou/sso-merryyou.git"
}
stages {
stage('獲取代碼'){
steps {
echo "start fetch code from git:${REPOSITORY}"
//清空當前目錄
deleteDir()
//拉去代碼
git "${REPOSITORY}"
}
}
stage('代碼靜態檢查'){
steps {
//僞代碼檢查
echo "start code check"
}
}
stage('編譯+單元測試'){
steps {
echo "start compile"
//切換目錄
dir('sso-client1') {
//從新打包
bat 'mvn -Dmaven.test.skip=true -U clean install'
}
}
}
stage('構建鏡像'){
steps {
echo "start build image"
dir('sso-client1') {
//build鏡像
bat 'docker build -t hub.c.163.com/longfeizheng/sso-client1:1.0 .'
//登陸163雲倉庫
bat 'docker login -u longfei_zheng@163.com -p password hub.c.163.com'
//推送鏡像到163倉庫
bat 'docker push hub.c.163.com/longfeizheng/sso-client1:1.0'
}
}
}
stage('啓動服務'){
steps {
echo "start sso-merryyou"
//重啓服務
bat 'docker-compose up -d --build'
}
}
}
}
複製代碼
Pipeline的幾個基本概念:
更多Pipeline語法參考:pipeline 語法詳解
docker-compose up -d
啓動服務
訪問http://sso-taobao:8083/client1登陸
修改內容效果以下:
更多效果圖
🙂🙂🙂關注微信小程序java架構師歷程 上下班的路上無聊嗎?還在看小說、新聞嗎?不知道怎樣提升本身的技術嗎?來吧這裏有你須要的java架構文章,1.5w+的java工程師都在看,你還在等什麼?