新聞中心
目錄
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)尚志,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
由于項目開發(fā),經(jīng)常需要在本地搭一些環(huán)境進(jìn)行開發(fā)或測試,大家知道搭環(huán)境、裝軟件、裝中間件是件非常麻煩的事情,有些軟件的安裝可能需要依賴其它環(huán)境的安裝,如安裝rabbitmq首先需要Erlang語言環(huán)境,一整套安裝下來不僅浪費(fèi)時間而且還各種問題出現(xiàn),嚴(yán)重影響開發(fā)進(jìn)度。對于開發(fā)者來講,life is short, 盡一切可能提高開發(fā)效率。
Docker的出現(xiàn)對于技術(shù)界無疑是一件劃時代的事件,Docker由于具體豐富的應(yīng)用鏡像倉庫、使用方便及可移植性而深受廣大IT從業(yè)人員喜愛。用Docker部署或安裝相應(yīng)的應(yīng)用不用花太多時間在安裝過程及細(xì)節(jié)、依賴上,真正做到開箱即用。本文以jenkins的搭建為例,說明Docker的基本操作過程:拉取鏡像、運(yùn)行容器、文件掛載、跟蹤運(yùn)行、關(guān)閉容器等,希望對剛?cè)腴TDocker的技術(shù)愛好者能有所幫助。Docker基本概念
Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上。其實Docker最經(jīng)典的是那張“背有集裝箱的海豚”圖,這張圖充分說明了docker引擎與容器之間的關(guān)系。
鏡像:可以理解為應(yīng)用的“源碼”或.exe安裝文件; 容器:就是鏡像運(yùn)行后的實例,與鏡像的關(guān)系其實就如“對象”與“類”的關(guān)系; 倉庫:發(fā)布鏡像的倉庫,在倉庫中可以下載或拉取各種鏡像(應(yīng)用)而Docker則是一個容器運(yùn)行所需要的引擎,所有的容器均運(yùn)行在引擎之中。 Docker安裝過程(Centos6.9)升級內(nèi)核
Centos6.9需要升級內(nèi)核版本才可以安裝Docker,升級過程如下
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel -y install kernel-lt
vim /etc/grub.conf
將 default 設(shè)置為 0 ,default=0
4.重啟安裝docker-io
yum install http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install docker-io
service docker start基于Docker的jenkins安裝拉取應(yīng)用
運(yùn)行容器/實例之前,需要從docker hub倉庫中拉取相應(yīng)的鏡像,可查看官網(wǎng)關(guān)于上的一些介紹,其中對于安裝命令、配置信息及文件目錄都有于詳細(xì)的說明。
運(yùn)行容器
docker run -p 8080:8080 -p 50000:50000 -v /usr/local/docker_volume/jenkins:/var/jenkins_home -v /usr/local/apps/maven-3.3.9:/var/maven_home -v /usr/local/apps/maven-3.3.9/repo:/usr/local/apps/maven-3.3.9/repo --name my_jenkins -d jenkins
其中-p表示端口映射,即將本機(jī)上的端口映射到容器上的端口;
-v表示文件映射,即本機(jī)與容器共享映射,掛載文件 注意
:由于jenkins構(gòu)建maven項目需要依賴maven項目,因此在運(yùn)行容器的時候?qū)⒈緳C(jī)的maven_home共享給容器。由于容器運(yùn)行時需要在本機(jī)共享文件中寫入,需要寫權(quán)限,sudo chown -R 1000:1000 /usr/local/docker_volume/jenkins sudo chown -R 1000:1000 sudo chown -R 1000:1000
運(yùn)行以上命令,窗口會打印容器id,通過docker ps可查看運(yùn)行的容器狀態(tài)及相關(guān)信息。跟蹤應(yīng)用log
輸入docker logs關(guān)閉打開容器
關(guān)閉:docker stop
tomcat賬戶配置
本例將maven編譯后的war部署到遠(yuǎn)程tomcat,因此需要在tomcat中設(shè)置部署權(quán)限,編輯/con/tomcat-users.xml配置文件,加入賬戶配置JDK、Maven等參數(shù)
在 “系統(tǒng)設(shè)置—> Global Tool Configuration”中添加JDK安裝如下圖所示
安裝“Deploy to container Plugin”插件用于部署war程序
新建任務(wù)構(gòu)建部署
添加svn源碼地址、tomcat部署地址
通過ssh腳本部署maven項目到指定Tomcat中
用以上方法在tomcat自帶的deployment實現(xiàn)部署對于服務(wù)器性能消耗較大,經(jīng)常會出現(xiàn)如內(nèi)存溢出等問題,導(dǎo)致部署失敗。采用ssh腳本部署的方式則方便快捷很多,對于內(nèi)存消耗也沒有那么多。配置Publish Over SSH插件
在”系統(tǒng)設(shè)置—> 管理插件—>可選插件”中安裝(Publish Over SSH)插件,然后在“系統(tǒng)管理—>系統(tǒng)設(shè)置—>Publish over SSH”設(shè)置要發(fā)布的linux服務(wù)器的登錄信息,各項配置與具體含義如下圖所示。配置完成后,點擊【Test Configuration】按鈕可測試是否連接上,如顯示“Success”則表示配置成功。編寫部署ssh腳本
將以下shell腳本deploy.sh存放在服務(wù)器的/home/admin/data目錄下并給予執(zhí)行權(quán)限chomd +x deploy.sh,即上圖ssh登錄配置圖中的Remote Directory目錄下。這樣配置表示jenkins登錄到tomcat所在的linux服務(wù)器后可用./deploy.sh執(zhí)行部署操作。如果demploy.sh放在其它目錄,則用絕對路徑/..dir../..dir../deploy.sh來執(zhí)行即可。#!/bin/bash# 文件:set ff=unix#defined export JAVA_HOME=/usr/local/java# tomcat部署位置TOMCAT_HOME="/home/admin/data/tomcat-jenkins"# 登錄后的服務(wù)器用戶目錄,與上圖配置的Remote Directory設(shè)置相同LOGIN_HOME="/home/admin/data"TOMCAT_PORT=10092PROJECT="$1"#param validateif [ $# -lt 1 ]; then echo "you must use like this : ./deploy.sh
參照下圖保存配置后,即可構(gòu)建maven項目,jenkins會復(fù)制編譯后的war項目到192.168.1.12服務(wù)器對應(yīng)的tomcat路徑下,然后啟動Tomcat部署項目。
到此這篇關(guān)于docker搭建jenkins+maven代碼構(gòu)建部署平臺的文章就介紹到這了,更多相關(guān)docker搭建jenkins+maven內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
當(dāng)前題目:docker搭建jenkins+maven代碼構(gòu)建部署平臺
當(dāng)前網(wǎng)址:http://fisionsoft.com.cn/article/icdcho.html