javascript
Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付
Gilab安裝教程
http://blog.csdn.net/chenhaifeng2016/article/details/78603216
http://blog.csdn.net/chenhaifeng2016/article/details/78603932
Jenkin安裝教程
http://blog.csdn.net/chenhaifeng2016/article/details/78626727
Maven安裝教程和Gradle安裝教程
http://blog.csdn.net/chenhaifeng2016/article/details/61202846
Docker私有Registry安裝教程
http://blog.csdn.net/chenhaifeng2016/article/details/78177159
制作基礎(chǔ)鏡像
http://blog.csdn.net/chenhaifeng2016/article/details/78631215
配置Jenkins的JDK和Maven
在Jenkins中安裝相關(guān)插件:Git, Gitlab Auth, Gilab Hook, Gitlab
在Jenkins中配置Git plugin
在Jenkins中配置Gitlab plugin
GitLab API Token來自于
最后測試一下Jenkins是否可以連接GitLab。
點擊按鈕Test Connection返回success顯示成功。
在Jenkins服務(wù)器生成密鑰對ssh-keygen
在Gitlab創(chuàng)建項目springbootdemo
配置項目的部署密鑰
在Jenkins中新建一個項目springbootdemo,建議項目名稱和gitlab中的項目名稱保持一致。項目類型為構(gòu)建一個自由風(fēng)格的軟件項目。
在Jenkins中配置項目的源代碼管理
在Jenkins中配置項目的構(gòu)建觸發(fā)器
在Jenkin中配置項目的構(gòu)建動作,這里暫時輸出"maven ..."
在gitlab中配置項目的webhook
模擬測試一下Push events
測試成功
在IntelliJ IDEA修改代碼做一次提交,webhook會自動觸發(fā)構(gòu)建。
接下來配置項目自動生成docker鏡像并上傳企業(yè)內(nèi)部私有倉庫。
在Jenkins中配置項目的構(gòu)建,這里添加兩個步驟。
dockerfile的內(nèi)容
FROM repo.cssweb.com:5000/chenhf/jdk8MAINTAINER chenhf "chenhf2010@qq.com"RUN mkdir -p /usr/local/src/springbootappADD target/springbootdemo-0.0.1-SNAPSHOT.jar /usr/local/src/springbootappENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/usr/local/src/springbootapp/springbootdemo-0.0.1-SNAPSHOT.jar"]通常情況下,會在項目中添加一個目錄docker, 并在下面創(chuàng)建dockerfile文件。
另外,maven工程可以借助于docker-maven-plugin插件來生成鏡像并上傳鏡像倉庫。
這里只是出于演示的目的。
shell腳本的內(nèi)容
#!/bin/bash if docker images | grep repo.cssweb.com:5000/chenhf/springbootdemo thendocker rmi repo.cssweb.com:5000/chenhf/springbootdemoecho "docker rmi repo.cssweb.com:5000/chenhf/springbootdemo" fidocker build -t repo.cssweb.com:5000/chenhf/springbootdemo . docker push repo.cssweb.com:5000/chenhf/springbootdemoif docker ps -a | grep -i springbootdemo thendocker rm -f springbootdemoecho "docker rm -f springbootdemo" fidocker run -d -p 9000:8080 --name springbootdemo repo.cssweb.com:5000/chenhf/springbootdemo這里只是出于演示的需要,在本地運行了容器。實際情況下, 需要通過docker compose,kubernetes等工具來部署容器。
接下來在項目開發(fā)工具IntelliJ IDEA中做一次提交, Jenkins會自動構(gòu)建項目、生成鏡像、上傳鏡像并運行容器。
下次講一下如何通過pipeline來持續(xù)集成和交付項目。
maven docker plugin
https://github.com/spotify/docker-maven-plugin
https://github.com/spotify/dockerfile-maven
總結(jié)
以上是生活随笔為你收集整理的Springboot Gitlab Jenkins Maven Docker 持续集成/持续交付的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux部署Nexus OSS
- 下一篇: 10分钟了解JSON Web令牌(JWT