docker部署持續(xù)集成環(huán)境
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了侯馬免費建站歡迎大家使用!
部署準備
jenkins服務器 10.1.2.183
docker服務器 10.1.2.184
Git/Harbor服務器 10.1.2.182
各服務版本
CentOS 7.4_x64
Maven 3.5
Tomcat 8
JDK 1.8
Jenkins 2.6
DockerCE 17.06
在Git服務器
1、安裝Git
2、創(chuàng)建Git用戶
3、創(chuàng)建倉庫
cd /home/git/solo.git
在git服務器和jenkins服務器分別安裝docker服務添加國內(nèi)鏡像源并分別在兩臺的/etc/docker/daemon.json里面添加對harbor主機的信任,如下
{"registry-mirrors": [ "https://registry.docker-cn.com"],
"insecure-registries": ["10.1.2.182"]}
在jenkins服務器
安裝git,使用git的客戶端
yum install git
安裝openjdk1.8
tar zxvf jdk-8u45-linux-x64.tar.gz && mv jdk1.8.0_45 /usr/local/
下載git服務器上的空項目在本地建立一個空白示例倉庫
git clone 10.1.2.182:/home/git/solo.git #在本地建立一個空白倉庫
下載github上的示例項目
git clone https://github.com/lizhenliang/tomcat-java-demo
將下載的示例項目解壓,將內(nèi)容拷貝到空白倉庫并且提交到本地git倉庫
unzip solo-master.zip && cp -r solo-master/* solo/ && git add . && git commit -m "all" #在這邊就是模擬將代碼拉取下來,修改,再上傳到git服務器
將soho項目提到的遠程git服務器
git push origin master
在jekins服務器
使用dockerfile安裝jenkins,dockerfile文件如下
mkdir /root/jenkins;cd /root/jenkins;
cat Dockerfile
FROM jenkins
USER root
RUN echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until
RUN apt-get clean
RUN echo '' > /etc/apt/sources.list \
&& echo 'deb http://security.debian.org/ jessie/updates main >>/etc/apt/sources.list \
&& echo 'deb-src http://security.debian.org/ jessie/updates main >>/etc/apt/sources.list \
&& echo 'deb http://archive.debian.org/debian/ jessie-backports non-free >>/etc/apt/sources.list \
&& echo 'deb-src http://archive.debian.org/debian/ jessie-backports non-free >>/etc/apt/sources.list \
&& echo 'deb http://archive.debian.org/debian/ jessie main contrib non-free >>/etc/apt/sources.list \
&& echo 'deb-src http://archive.debian.org/debian/ jessie main contrib non-free >>/etc/apt/sources.list
RUN apt-get update && apt-get install -y git libltdl-dev
構(gòu)建jenkins鏡像
docker build -t jenkins:v1
啟動jenkins
docker run -d \
--name jenkins \
-p 8080:8080 \
-v /var/jenkins_home/:/var/jenkins_home \
-v /usr/local/apache-maven-3.5.0:/usr/local/maven \
-v /usr/local/jdk1.8.0_45:/usr/local/jdk \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v ~/.ssh:/root/.ssh \
jenkins:v1
配置docker這臺和jenkins這臺分別配置對harbor這臺的免登陸配置用于git間的推拉
ssh-keygen
ssh-copy-id 10.1.2.182
訪問10.1.2.183:8080進行jenkins安裝
配置jenkins
修改jenkins國內(nèi)升級源
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
系統(tǒng)管理--全局工具配置
配置jdk,maven,git
在jenkins上配置對docker主機的密鑰登陸
ssh-copy-id 10.1.2.184
在jenkins頁面憑據(jù)管理添加憑據(jù)
將jenkins主機上的/root/.ssh/id_rsa文件內(nèi)容復制到Private Key里面
添加遠程主機
系統(tǒng)管理--系統(tǒng)設置
選擇前面添加的ROOT用戶
部署項目
新建一個maven項目
配置Git,憑據(jù)不需要選,因為jenkins服務器已經(jīng)配置好對git服務器的免交互
PS:上圖中如果git賬號不能使用,就使用root賬號
構(gòu)建選項
構(gòu)建一下測試看maven有沒有完成
下面我們將構(gòu)建完的包打包成鏡像,上傳到harbor倉庫
在jenkins上 構(gòu)建tomcat基礎鏡像,以后以這個基礎鏡像為基礎構(gòu)建項目
mkdir /root/solo
cat Dockerfile
FROM centos:7
MAINTAINER www.aliangedu.com
RUN yum install unzip iproute -y
ENV JAVA_HOME /usr/local/jdk
ADD apache-tomcat-8.0.46.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
WORKDIR /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["./bin/catalina.sh", "run"]
構(gòu)建
docker build -t 10.1.2.182/test/tomcat:v1 . #這里構(gòu)建的時候直接打標記等下直接推送到倉庫.
推送
在harbor創(chuàng)建test項目,設置項目的成員chench權(quán)限為項目管理員或開發(fā)權(quán)限,否則會無法push
docker push 10.1.2.182/test/tomcat:v1
選擇構(gòu)建完執(zhí)行腳本,在腳本里里面使用Dockfile構(gòu)建鏡像,然后將鏡像上傳到GIt倉庫
選擇ssh到遠程主機執(zhí)行shell腳本
從Git倉庫拉取鏡像到docker服務器并運行
瀏覽器訪問docker主機ip:8888查看是否啟動成功
當前標題:docker持續(xù)集成環(huán)境的部署
文章出自:http://aaarwkj.com/article14/igijge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、企業(yè)網(wǎng)站制作、關鍵詞優(yōu)化、網(wǎng)站設計公司、定制網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)