jenkins使用docker部署web应用
docker安裝jenkins
定制自己的jenkins鏡像,官網: https://github.com/jenkinsci/docker
1. Dockerfile:
FROM jenkins/jenkins:lts USER root # 安裝docker-compose,可選,因為自己使用了這個插件 RUN curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose RUN chmod +x /usr/local/bin/docker-compose# 安裝jenkins插件,插件安裝完后可以在web界面上進行升級插件 COPY plugins.txt /usr/share/jenkins/ref/plugins.txt RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt?
plugins.txt:
https://github.com/fabric8io/jenkins-docker/blob/master/plugins.txt
?
2. docker-compose.yml
version: '3' services:jenkins:image: cymin/jenkins:1.0container_name: jenkinsbuild:context: .user: jenkinsports:- 8888:8080- 50000:50000volumes:- ./data:/var/jenkins_home- ./m2:/root/.m2- /var/run/docker.sock:/var/run/docker.sock- /usr/local/bin/docker:/usr/bin/dockerenvironment:- JAVA_OPTS="-Djava.util.logging.config.file=/var/jenkins_home/log.properties" networks:default:external:name: service?
3. Build and Start :
docker-compose build docker-compose up -d?
4. Access?
http://localhost:8888
?安裝完成后在瀏覽器進行訪問,可升級響應的插件、修改用戶名和密碼,以便后續登錄。
常用的插件:
Docker Commons Plugin Docker Plugin Artifactory Copy Artifact Maven Release Plug-in Next Build Number Timestamper Publish Over SSHGit Parameter
Config File Provider
?
?
?
?
Jenkins Usage
在github上新建maven項目,本人項目的測試地址: https://github.com/cymin/hello
?
下面是具體的詳細配置截圖:
1. 配置github項目
?
2. 參數化構建項目
?
3. 使用git tag
?
5. 使用jenkins提供的配置文件替換項目中的配置文件(可選)
?
?
6.?重新生成名稱相同的鏡像后,原來的鏡像名稱會變成<none>,在這里進行刪除上次編譯的鏡像。
?
# 批量刪除名稱為<none>的鏡像 docker rmi -f `docker images |grep \<none\>|awk '{print $3}'`&> /dev/null?
?
?7. maven項目編譯配置
?
?8. 編譯后的操作,生成鏡像
注意下面的"--no-cache"參數設置,不然jenkins不會checkout最新的代碼而使用緩存進行再次構建。
echo "--------------------------------< Deploy hello >--------------------------------" cd $WORKSPACE # Build docker-compose build --no-cache container_name=cymin/hello docker images | grep $container_name # Deploy docker-compose up -d docker ps | grep $container_name?
8. 執行構建
?
?構建的部分日志:
?9. Test
? ~ curl localhost:8080 hello, cymin666?
10. 總結
類似的文章有很多,但是每個人的使用是不一樣的,只為自己記錄一下自己兩天的學習?。
?
其他相關
1. 使用Docker Remote REST API
開啟方式參照博客: https://my.oschina.net/u/2306127/blog/777695
注意:這里必須寫真實的ip地址,也可以寫主機名,比如本機的hostname是cymindeMBP.lan,但不能寫localhost或者127.0.0.1.使用方式,比如:
docker -H tcp://192.168.201.206:2376 ps?
?
________________________________________________________ The end.?________________________________________________________?
轉載于:https://www.cnblogs.com/UUUP/p/9234625.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的jenkins使用docker部署web应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# json.net xml互转
- 下一篇: mysql 禁用查询缓存 query c