日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

docker搭建jenkins+maven代碼構建部署平臺

瀏覽:306日期:2024-10-26 10:53:46
目錄Docker基本概念 Docker安裝過程(Centos6.9)升級內核 安裝docker-io 基于Docker的jenkins安裝拉取應用運行容器跟蹤應用log 關閉打開容器 tomcat賬戶配置配置jenkins,構建部署war應用配置JDK、Maven等參數 新建任務構建部署 通過ssh腳本部署maven項目到指定Tomcat中配置Publish Over SSH插件編寫部署ssh腳本項目構建配置

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

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

Docker基本概念

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

鏡像:可以理解為應用的“源碼”或.exe安裝文件; 容器:就是鏡像運行后的實例,與鏡像的關系其實就如“對象”與“類”的關系; 倉庫:發布鏡像的倉庫,在倉庫中可以下載或拉取各種鏡像(應用)而Docker則是一個容器運行所需要的引擎,所有的容器均運行在引擎之中。 Docker安裝過程(Centos6.9)升級內核

Centos6.9需要升級內核版本才可以安裝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.引導文件修改(grub.conf)

vim /etc/grub.conf

將 default 設置為 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.啟動docker服務

service docker start基于Docker的jenkins安裝拉取應用

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

運行容器

運行容器/實例,需要考慮到本地端口與docker容器的映射,以便通過本地主機可以訪問。由于容器本身并不會持久化文件,其實docker不建議在容器中進行任何文件有關的寫入操作,僅僅當作一個“容器”使用。如果容器應用運行過程中會產生許多重要的數據需要保存或配置,如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表示端口映射,即將本機上的端口映射到容器上的端口; -v表示文件映射,即本機與容器共享映射,掛載文件 注意:由于jenkins構建maven項目需要依賴maven項目,因此在運行容器的時候將本機的maven_home共享給容器。由于容器運行時需要在本機共享文件中寫入,需要寫權限,sudo chown -R 1000:1000 /usr/local/docker_volume/jenkins sudo chown -R 1000:1000 sudo chown -R 1000:1000

運行以上命令,窗口會打印容器id,通過docker ps可查看運行的容器狀態及相關信息。

跟蹤應用log

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

關閉打開容器

關閉:docker stop <CONTAINER ID> 打開:docker start <CONTAINER ID>

tomcat賬戶配置

本例將maven編譯后的war部署到遠程tomcat,因此需要在tomcat中設置部署權限,編輯/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,構建部署war應用

至此,通過訪問http://本機ip:8080即可訪問到jenkins平臺,選擇默認安裝插件,安裝成功后選擇設置賬號等.

配置JDK、Maven等參數

在 “系統設置—> Global Tool Configuration”中添加JDK安裝如下圖所示

docker搭建jenkins+maven代碼構建部署平臺

docker搭建jenkins+maven代碼構建部署平臺

docker搭建jenkins+maven代碼構建部署平臺

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

新建任務構建部署

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

docker搭建jenkins+maven代碼構建部署平臺

docker搭建jenkins+maven代碼構建部署平臺

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

docker搭建jenkins+maven代碼構建部署平臺

docker搭建jenkins+maven代碼構建部署平臺

通過ssh腳本部署maven項目到指定Tomcat中

用以上方法在tomcat自帶的deployment實現部署對于服務器性能消耗較大,經常會出現如內存溢出等問題,導致部署失敗。采用ssh腳本部署的方式則方便快捷很多,對于內存消耗也沒有那么多。

配置Publish Over SSH插件

在”系統設置—> 管理插件—>可選插件”中安裝(Publish Over SSH)插件,然后在“系統管理—>系統設置—>Publish over SSH”設置要發布的linux服務器的登錄信息,各項配置與具體含義如下圖所示。配置完成后,點擊【Test Configuration】按鈕可測試是否連接上,如顯示“Success”則表示配置成功。

docker搭建jenkins+maven代碼構建部署平臺

編寫部署ssh腳本

將以下shell腳本deploy.sh存放在服務器的/home/admin/data目錄下并給予執行權限chomd +x deploy.sh,即上圖ssh登錄配置圖中的Remote Directory目錄下。這樣配置表示jenkins登錄到tomcat所在的linux服務器后可用./deploy.sh執行部署操作。如果demploy.sh放在其它目錄,則用絕對路徑/..dir../..dir../deploy.sh來執行即可。

#!/bin/bash# 文件:set ff=unix#defined export JAVA_HOME=/usr/local/java# tomcat部署位置TOMCAT_HOME='/home/admin/data/tomcat-jenkins'# 登錄后的服務器用戶目錄,與上圖配置的Remote Directory設置相同LOGIN_HOME='/home/admin/data'TOMCAT_PORT=10092PROJECT='$1'#param validateif [ $# -lt 1 ]; then echo 'you must use like this : ./deploy.sh <projectname> [tomcat port] [tomcat home dir]' exitfiif [ '$2' != '' ]; then TOMCAT_PORT=$2fiif [ '$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_pidwhile [ -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 fidone#publish projectecho 'scan no tomcat pid,$PROJECT publishing'rm -rf '$TOMCAT_HOME'/webapps/$PROJECTcp '$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 tmprm -rf '$LOGIN_HOME'/war/$PROJECT.war#start tomcat'$TOMCAT_HOME'/bin/startup.shecho 'tomcat is starting,please try to access $PROJECT conslone url'項目構建配置

參照下圖保存配置后,即可構建maven項目,jenkins會復制編譯后的war項目到192.168.1.12服務器對應的tomcat路徑下,然后啟動Tomcat部署項目。

docker搭建jenkins+maven代碼構建部署平臺

到此這篇關于docker搭建jenkins+maven代碼構建部署平臺的文章就介紹到這了,更多相關docker搭建jenkins+maven內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Docker
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产三级一区| 日韩精品免费视频人成| 国产精品一区二区三区四区在线观看| 桃色av一区二区| 国产精一区二区| 亚洲视频国产精品| 亚洲免费影视| 中文字幕一区二区三区在线视频| 红杏一区二区三区| 日韩av有码| 亚洲欧美日韩精品一区二区| 欧美日韩网址| 99综合视频| 久久99精品久久久野外观看| 99精品美女| 综合激情一区| 国产婷婷精品| 五月天久久777| 宅男在线一区| 伊人影院久久| 六月婷婷一区| 亚洲三级毛片| 日韩精品欧美成人高清一区二区| 亚洲a成人v| 日韩精品欧美大片| 国产精品网址| 欧美激情福利| 国产一区二区色噜噜| 97精品中文字幕| 久久精品青草| 日韩毛片视频| 九九综合在线| 欧美亚洲三级| 国产精品日本一区二区不卡视频| 日韩不卡一二三区| 加勒比视频一区| 亚洲精一区二区三区| 麻豆精品在线| 国产毛片久久| 国产欧美一区| 国产亚洲精品v| 99pao成人国产永久免费视频| 国产免费av一区二区三区| 丝袜a∨在线一区二区三区不卡| 欧美日韩在线二区| 亚洲激精日韩激精欧美精品| 久久精品国语| 欧美精品激情| 蜜桃av一区二区| 亚洲一区二区三区四区五区午夜| 1024精品一区二区三区| av亚洲免费| 无码日韩精品一区二区免费| 久久不卡国产精品一区二区| 美女网站视频一区| 水蜜桃久久夜色精品一区的特点| 国产欧美日韩一区二区三区在线| 国产一二在线播放| 日本欧美在线看| 国产精品www994| 久久人人97超碰国产公开结果| 少妇久久久久| 日韩中文字幕无砖| 久久精品官网| 日韩中文字幕一区二区三区| 国产a久久精品一区二区三区| 精品国产a一区二区三区v免费| 欧美日韩va| 国产亚洲永久域名| 香蕉精品999视频一区二区| 91久久久精品国产| 欧美91视频| 日本免费一区二区三区四区| 国产一区二区三区四区二区| 国产成人久久精品一区二区三区| 国产精品麻豆成人av电影艾秋 | 视频一区国产视频| 快she精品国产999| 日韩av不卡在线观看| 国产成人久久| 久久亚洲风情| 日本精品影院| 91久久精品无嫩草影院| 国产图片一区| 国产精久久久| 亚洲欧美日韩国产一区| 亚洲欧洲美洲av| 欧美日韩91| 国产农村妇女精品一区二区| 久久只有精品| 国产亚洲精品v| 久久伊人久久| 少妇精品久久久| 五月天久久网站| 日韩在线观看| 麻豆一区二区在线| 亚洲精品乱码久久久久久蜜桃麻豆| 蜜桃久久av| 国产精品伦理久久久久久| 韩日一区二区三区| 98精品久久久久久久| 欧美资源在线| 日本少妇精品亚洲第一区| 欧美精品中文字幕亚洲专区| 精品视频一区二区三区在线观看| 美女免费视频一区| 久久精品一区二区不卡| 日韩一二三区在线观看| 黄色网一区二区| 国产亚洲亚洲| 人人香蕉久久| 亚洲在线成人| 亚洲五月综合| 亚洲精选成人| 日本欧美一区二区| 日韩av网站在线观看| 日韩中文字幕在线一区| 欧美日韩伊人| 国产精品红桃| 日本va欧美va精品发布| 精品视频自拍| 日本一区二区三区视频在线看 | 国产精品大片| 日韩精品a在线观看91| 视频一区在线播放| 91超碰国产精品| 九九久久婷婷| 亚洲神马久久| 99国产精品久久久久久久成人热| 欧美一级精品| 在线日韩一区| 久久精品卡一| 色在线视频观看| 91日韩欧美| av中文字幕在线观看第一页| 国产suv精品一区| 欧洲一区二区三区精品| 亚洲高清影视| 国产亚洲一区二区手机在线观看 | 亚洲精品一区二区在线看| 午夜视频一区二区在线观看| 日韩欧美午夜| 欧美日韩免费看片| 久久久久国产精品一区三寸| 久久久久久久欧美精品| 免费看黄色91| 99国产精品99久久久久久粉嫩| 欧美精品黄色| 少妇精品久久久一区二区| 欧美中文高清| 麻豆中文一区二区| а√天堂中文在线资源8| 久久久夜精品| 亚洲欧美视频| 欧美视频二区| 97精品国产福利一区二区三区| 神马日本精品| 亚洲午夜免费| 欧美有码在线| 黄色亚洲精品| 人人精品亚洲| 一区二区小说| 午夜欧美精品久久久久久久| 久久精品国产久精国产| 久久亚洲美女| 日韩av一区二区在线影视| 国产亚洲精品美女久久 | 中文亚洲欧美| 日本aⅴ精品一区二区三区 | 日本午夜大片a在线观看| 国产精品一区二区中文字幕| 性色av一区二区怡红| 亚洲国产综合在线看不卡| 久久夜色精品| 日韩一区电影| 欧洲精品一区二区三区| 国产极品一区| 日本在线观看不卡视频| 国产精品av久久久久久麻豆网| 国产精品一二| 国产欧美在线观看免费| 国产亚洲福利| 日韩精品免费视频一区二区三区| 91精品福利观看| 久久xxx视频| 欧美.日韩.国产.一区.二区| 亚洲综合日韩| 国产一区一一区高清不卡| 亚洲激情另类| 国产精品久久久久久久久久久久久久久 | 精品中文字幕一区二区三区四区| 青青草精品视频| 九一成人免费视频| 在线一区视频观看| 国产夫妻在线| 国内亚洲精品| 日韩午夜精品| 不卡中文一二三区| 不卡av一区二区| 激情欧美日韩一区|