欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > docker搭建jenkins+maven代碼構(gòu)建部署平臺

docker搭建jenkins+maven代碼構(gòu)建部署平臺

熱門標(biāo)簽:撫順移動(dòng)400電話申請 做外呼系統(tǒng)的公司違法嗎 藍(lán)點(diǎn)外呼系統(tǒng) 在百度地圖標(biāo)注車輛 威海人工外呼系統(tǒng)供應(yīng)商 400電話申請方案 貴陽教育行業(yè)電話外呼系統(tǒng) 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 烏海智能電話機(jī)器人

由于項(xiàng)目開發(fā),經(jīng)常需要在本地搭一些環(huán)境進(jìn)行開發(fā)或測試,大家知道搭環(huán)境、裝軟件、裝中間件是件非常麻煩的事情,有些軟件的安裝可能需要依賴其它環(huán)境的安裝,如安裝rabbitmq首先需要Erlang語言環(huán)境,一整套安裝下來不僅浪費(fèi)時(shí)間而且還各種問題出現(xiàn),嚴(yán)重影響開發(fā)進(jìn)度。對于開發(fā)者來講,life is short, 盡一切可能提高開發(fā)效率。

Docker的出現(xiàn)對于技術(shù)界無疑是一件劃時(shí)代的事件,Docker由于具體豐富的應(yīng)用鏡像倉庫、使用方便及可移植性而深受廣大IT從業(yè)人員喜愛。用Docker部署或安裝相應(yīng)的應(yīng)用不用花太多時(shí)間在安裝過程及細(xì)節(jié)、依賴上,真正做到開箱即用。本文以jenkins的搭建為例,說明Docker的基本操作過程:拉取鏡像、運(yùn)行容器、文件掛載、跟蹤運(yùn)行、關(guān)閉容器等,希望對剛?cè)腴TDocker的技術(shù)愛好者能有所幫助。

Docker基本概念

Docker 是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上。其實(shí)Docker最經(jīng)典的是那張“背有集裝箱的海豚”圖,這張圖充分說明了docker引擎與容器之間的關(guān)系。
掌握鏡像、容器、倉庫基本就對Docker了解得差不多了,就能正確的使用Docker.

  • 鏡像:可以理解為應(yīng)用的“源碼”或.exe安裝文件;
  • 容器:就是鏡像運(yùn)行后的實(shí)例,與鏡像的關(guān)系其實(shí)就如“對象”與“類”的關(guān)系;
  • 倉庫:發(fā)布鏡像的倉庫,在倉庫中可以下載或拉取各種鏡像(應(yīng)用)而Docker則是一個(gè)容器運(yùn)行所需要的引擎,所有的容器均運(yùn)行在引擎之中。

 Docker安裝過程(Centos6.9)

升級內(nèi)核

Centos6.9需要升級內(nèi)核版本才可以安裝Docker,升級過程如下
1.引入key

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 

2.yum安裝

yum --enablerepo=elrepo-kernel -y install kernel-lt 

3.引導(dǎo)文件修改(grub.conf

vim /etc/grub.conf 

將 default 設(shè)置為 0 ,default=0

4.重啟

安裝docker-io

1.安裝EPEL源

yum install http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm 

2.安裝docker-io

yum -y install docker-io 

3.啟動(dòng)docker服務(wù)

service docker start

基于Docker的jenkins安裝

拉取應(yīng)用

運(yùn)行容器/實(shí)例之前,需要從docker hub倉庫中拉取相應(yīng)的鏡像,可查看官網(wǎng)關(guān)于jenkins鏡像上的一些介紹,其中對于安裝命令、配置信息及文件目錄都有于詳細(xì)的說明。
從倉庫中拉取最新的jenkins,docker pull jenkins,拉取其它版本的可通過命令docker pull jenkins:<version>

運(yùn)行容器

運(yùn)行容器/實(shí)例,需要考慮到本地端口與docker容器的映射,以便通過本地主機(jī)可以訪問。由于容器本身并不會(huì)持久化文件,其實(shí)docker不建議在容器中進(jìn)行任何文件有關(guān)的寫入操作,僅僅當(dāng)作一個(gè)“容器”使用。如果容器應(yīng)用運(yùn)行過程中會(huì)產(chǎn)生許多重要的數(shù)據(jù)需要保存或配置,如mysql的db文件,jenkins的插件、配置文件等,則建議將容器的文件掛載到本地,也即volume映射。 

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項(xiàng)目需要依賴maven項(xiàng)目,因此在運(yùn)行容器的時(shí)候?qū)⒈緳C(jī)的maven_home共享給容器。由于容器運(yùn)行時(shí)需要在本機(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)行以上命令,窗口會(huì)打印容器id,通過docker ps可查看運(yùn)行的容器狀態(tài)及相關(guān)信息。

跟蹤應(yīng)用log

輸入docker logs <CONTAINER ID>即可跟蹤容器打印日志,初次啟動(dòng)jenkins會(huì)在日志中打印密碼,復(fù)制后用于登陸jenkins.

關(guān)閉打開容器

關(guān)閉:docker stop <CONTAINER ID>
打開:docker start <CONTAINER ID>

tomcat賬戶配置

本例將maven編譯后的war部署到遠(yuǎn)程tomcat,因此需要在tomcat中設(shè)置部署權(quán)限,編輯/con/tomcat-users.xml配置文件,加入賬戶

<role rolename="tomcat"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin,manager,tomcat,manager-gui,manager-script,manager-jmx,manager-status"/>
<user username="root" password="admin" roles="admin,manager,tomcat,manager-gui,manager-script,manager-jmx,manager-status,admin-gui"/>

配置jenkins,構(gòu)建部署war應(yīng)用

至此,通過訪問http://本機(jī)ip:8080即可訪問到j(luò)enkins平臺,選擇默認(rèn)安裝插件,安裝成功后選擇設(shè)置賬號等.

配置JDK、Maven等參數(shù)

在 “系統(tǒng)設(shè)置—> Global Tool Configuration”中添加JDK安裝如下圖所示

安裝“Deploy to container Plugin”插件用于部署war程序
在”系統(tǒng)設(shè)置—> 管理插件—>可選插件”中安裝

新建任務(wù)構(gòu)建部署

添加svn源碼地址、tomcat部署地址

tomcat 部署配置,配置登錄tomcat的賬號

通過ssh腳本部署maven項(xiàng)目到指定Tomcat中

用以上方法在tomcat自帶的deployment實(shí)現(xiàn)部署對于服務(wù)器性能消耗較大,經(jīng)常會(huì)出現(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ù)器的登錄信息,各項(xiàng)配置與具體含義如下圖所示。配置完成后,點(diǎn)擊【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=10092
PROJECT="$1"
#param validate
if [ $# -lt 1 ]; then
  echo "you must use like this : ./deploy.sh <projectname> [tomcat port] [tomcat home dir]"  
  exit
fi
if [ "$2" != "" ]; then
   TOMCAT_PORT=$2
fi
if [ "$3" != "" ]; then
   TOMCAT_HOME="$3"
fi
#shutdown tomcat
#"$TOMCAT_HOME"/bin/shutdown.sh
#echo "tomcat shutdown"
#check tomcat process

#tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`
tomcat_pid=`ps -ef | grep $TOMCAT_HOME | grep -v 'grep\|tail\|more\|bash\|less'| awk '{print $2}'`
echo "current :" $tomcat_pid
while [ -n "$tomcat_pid" ]
do
 sleep 5
 tomcat_pid=`ps -ef | grep $TOMCAT_HOME | grep -v 'grep\|tail\|more\|bash\|less'| awk '{print $2}'`
 echo "scan tomcat pid :" $tomcat_pid
 if [ -n "$tomcat_pid" ]; then
   echo "kill tomcat :" $tomcat_pid
   kill -9 $tomcat_pid
 fi
done
#publish project
echo "scan no tomcat pid,$PROJECT publishing"
rm -rf "$TOMCAT_HOME"/webapps/$PROJECT
cp "$LOGIN_HOME"/war/$PROJECT.war "$TOMCAT_HOME"/webapps/$PROJECT.war
#bak project
#BAK_DIR=/home/web_as/war/bak/$PROJECT/`date +%Y%m%d`
#mkdir -p "$BAK_DIR"
#cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BAK_DIR"/"$PROJECT"_`date +%H%M%S`.war
#remove tmp
rm -rf "$LOGIN_HOME"/war/$PROJECT.war
#start tomcat
"$TOMCAT_HOME"/bin/startup.sh
echo "tomcat is starting,please try to access $PROJECT conslone url"

項(xiàng)目構(gòu)建配置

參照下圖保存配置后,即可構(gòu)建maven項(xiàng)目,jenkins會(huì)復(fù)制編譯后的war項(xiàng)目到192.168.1.12服務(wù)器對應(yīng)的tomcat路徑下,然后啟動(dòng)Tomcat部署項(xiàng)目。

到此這篇關(guān)于docker搭建jenkins+maven代碼構(gòu)建部署平臺的文章就介紹到這了,更多相關(guān)docker搭建jenkins+maven內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:松原 銅川 泰州 那曲 慶陽 周口 朝陽 蕪湖

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker搭建jenkins+maven代碼構(gòu)建部署平臺》,本文關(guān)鍵詞  docker,搭建,jenkins+maven,代碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker搭建jenkins+maven代碼構(gòu)建部署平臺》相關(guān)的同類信息!
  • 本頁收集關(guān)于docker搭建jenkins+maven代碼構(gòu)建部署平臺的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲国产精品99久久久久久久久| 亚洲婷婷综合久久一本伊一区| 中文字幕亚洲精品在线观看| 国产一区二区精品在线观看| 我和岳m愉情xxxⅹ视频| 欧美美女一区二区| 亚洲三级电影全部在线观看高清| 国产成人在线观看免费网站| 亚洲欧美综合7777色婷婷| 久久亚洲二区三区| 青青草一区二区三区| 中文在线一区二区三区| 欧美丰满美乳xxx高潮www| 亚洲福利视频一区| 国产亚洲一本大道中文在线| 精东粉嫩av免费一区二区三区| 手机看片福利视频| 26uuu久久天堂性欧美| 韩国v欧美v日本v亚洲v| 国产激情av在线| 亚洲国产精品成人综合色在线婷婷| 国产美女精品人人做人人爽| 亚洲欧洲综合网| 国产精品久久久久久久久免费丝袜| 成人激情午夜影院| 在线中文字幕不卡| 亚洲第一主播视频| jlzzjizz在线播放观看| 精品成人一区二区三区四区| 国产一区二区免费在线| 精品无码久久久久成人漫画| 中文字幕一区二区三区在线播放| 99久久精品久久久久久清纯| 欧美三级中文字幕在线观看| 午夜成人免费电影| 久久久无码人妻精品一区| 精品国产乱码久久久久久图片| 国产精品一区二区无线| 久草网站在线观看| 亚洲国产精品麻豆| 国产寡妇亲子伦一区二区| 色综合久久99| 午夜久久久久久电影| 色欲狠狠躁天天躁无码中文字幕 | 少妇精品一区二区三区| 久久尤物电影视频在线观看| 东方欧美亚洲色图在线| 欧美在线free| 久久国产三级精品| 麻豆天美蜜桃91| 亚洲成人黄色小说| 女人十八毛片嫩草av| 综合网在线视频| 欧美一级片黄色| 国产区在线观看成人精品| 93久久精品日日躁夜夜躁欧美| 制服丝袜国产精品| 国产露脸91国语对白| 欧洲国产伦久久久久久久| 日韩av中文字幕一区二区三区| 免费看一级黄色| 亚洲一线二线三线视频| 熟女少妇内射日韩亚洲| 亚洲人成在线观看一区二区| 黄瓜视频污在线观看| 亚洲欧洲另类国产综合| 中文在线一区二区三区| 综合激情成人伊人| 右手影院亚洲欧美| 亚洲欧美区自拍先锋| 魔女鞋交玉足榨精调教| 亚洲免费在线视频| 国产人妻大战黑人20p| 亚洲精品高清在线观看| 色噜噜噜噜噜噜| 亚洲福中文字幕伊人影院| 国产尤物在线播放| 中文字幕在线观看成人| 免费成人在线网站| 在线观看一区二区视频| 国产一区91精品张津瑜| 3d动漫精品啪啪一区二区竹菊| 成人毛片视频在线观看| 精品奇米国产一区二区三区| 91热门视频在线观看| 久久久精品国产免大香伊| zjzjzjzjzj亚洲女人| 中文字幕亚洲成人| 四虎成人免费影院| 日本伊人午夜精品| 欧美视频自拍偷拍| 成人精品高清在线| 337p日本欧洲亚洲大胆色噜噜| 国产吃瓜黑料一区二区| 国产精品国产三级国产aⅴ原创 | 久久这里只有精品6| 国产大尺度视频| 欧美日韩一区国产| 成人精品电影在线观看| 久久久久九九视频| 久久国产精品无码一级毛片| 一区二区高清免费观看影视大全| 亚洲精品一区二区三区在线播放| 美女一区二区视频| 制服丝袜亚洲网站| 中文字幕无人区二| 亚洲女女做受ⅹxx高潮| 中国毛片直接看| 国产精品一区二区91| 精品欧美乱码久久久久久| 波多野结衣一二三区| 日韩欧美国产系列| 你懂的在线观看网站| 洋洋av久久久久久久一区| 一本到高清视频免费精品| 国产成人av一区| 国产色爱av资源综合区| 天天干天天舔天天操| 毛片av一区二区| 日韩欧美国产不卡| 毛茸茸多毛bbb毛多视频| 香蕉乱码成人久久天堂爱免费| 欧美视频中文一区二区三区在线观看| 97精品电影院| 亚洲精品中文字幕乱码三区| 一本高清dvd不卡在线观看| 成人app软件下载大全免费| 日本一区二区成人在线| 亚洲女人久久久| 粉嫩aⅴ一区二区三区四区五区| 国产欧美日韩视频一区二区| 人与嘼交av免费| 国产一区二区三区免费看| 亚洲色图欧美另类| 亚洲va韩国va欧美va| 这里只有精品电影| 中文字幕一区二区久久人妻网站| 偷窥少妇高潮呻吟av久久免费| 67194成人在线观看| 亚洲精品乱码久久久久久不卡| 日本亚洲免费观看| 精品久久久久一区二区国产| 精品国产成人亚洲午夜福利| 国产乱人伦精品一区二区在线观看| 国产三级欧美三级日产三级99| 91久久久久久久久久久久久久| 成人开心网精品视频| 亚洲欧美视频在线观看| 欧美日韩国产另类一区| 午夜久久久久久久| 久久精品久久精品| 国产婷婷一区二区| 好吊色视频在线观看| 91精品人妻一区二区三区蜜桃2| 午夜国产精品一区| 精品国产a毛片| 国产传媒免费在线观看| 97精品国产露脸对白| 丝袜诱惑制服诱惑色一区在线观看 | 麻豆网址在线观看| 成人免费毛片高清视频| 一级特黄大欧美久久久| 欧美一区二区三区视频在线观看| 久久av无码精品人妻系列试探| 国产伦精品一区二区三区在线观看 | 亚洲蜜桃精久久久久久久久久久久| 九九**精品视频免费播放| 国产精品久久免费看| 欧美色图在线观看| 国产成人av一区| 亚洲一区二区在线观看视频| 日韩免费高清av| 麻豆明星ai换脸视频| 日韩成人av影院| 精品一二线国产| 亚洲免费资源在线播放| 日韩欧美你懂的| 可以直接看的黄色网址| 国产性生活毛片| 国产激情精品久久久第一区二区 | 欧美激情一区在线观看| 欧美亚洲动漫另类| 免费观看av网站| 成人av在线资源| 日本不卡视频在线| 中文字幕一区二区三区乱码在线 | 欧美三级韩国三级日本三斤| 国产精品高清无码在线观看| 成人黄色大片在线观看| 日韩高清欧美激情| 亚洲欧洲日产国码二区| 欧美一个色资源| 麻豆精品一区二区三区视频| 国产精品久久不卡| 99天天综合性| 精品一区二区在线免费观看| 一区二区三区成人在线视频| 久久综合久久综合九色| 欧美日韩夫妻久久| 成人在线观看小视频|