項目二 Jenkins+Docker自動打包鏡像到私有倉庫

Jenkins 自動構(gòu)建 docker 鏡像 并推送到 阿里云倉庫

jenkins服務(wù)器搭建

1节吮、java環(huán)境安裝

yum install -y java
(或 直接執(zhí)行 yum install -y java-1.8.0-openjdk* )
[root@jenkins ~]# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

2 下載 jenkins

yum install -y https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.219-1.1.noarch.rpm

3 修改配置文件

vim /etc/sysconfig/jenkins
##################
JENKINS_PORT="9090" (默認8080,也可不改)
JENKINS_USER="root" (jenkins用戶 改為root)
##################

4 啟動服務(wù)

systemctl start jenkins

5 、配置防火墻規(guī)則

[root@jenkins ~]# firewall-cmd --zone=public --add-port=9090/tcp --permanent success
[root@jenkins ~]# firewall-cmd --reload
success

6 儿咱、瀏覽器訪問ip:9090奥吩, 修改清華源

6.1


Snipaste_2020-03-17_20-44-10.jpg

解決 URL這里不是國內(nèi)的地址,方位國外的地址訪問失敗造成的。替換國內(nèi)地址

cd /var/lib/jenkins
vim hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>
修改以后保存退出
systemctl restart jenkins #重啟生效

6.2 重啟生效后 在/var/lib/jenkins 會生成update 目錄
替換清華源下載插件


image.png
cd /var/lib/jenkins/updates/
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
systemctl restart jenkins

6.3 進入


image.png

安裝推薦插件


image.png

等待安裝即可
Snipaste_2020-03-17_20-56-36.jpg

創(chuàng)建管理賬戶


image.png

image.png

image.png

7 .升級git到2.0版本以上

7.1店诗、移除舊版本git
yum remove git -y
7.2、下載tar包并解壓
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz(由于下載的慢音榜,我們上傳)
tar -xvzf git-2.21.0.tar.gz
7.3庞瘸、下載依賴
yum groupinstall -y "Development Tools" #安裝開發(fā)套件
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib- devel gcc perl-ExtUtils-MakeMaker openssh-clients
7.4、編譯安裝
cd git-2.21.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
7.5赠叼、設(shè)置環(huán)境變量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
7.6擦囊、查看版本
[root@jenkins ~]# git version

8.安裝maven

8.1、下載安裝包并解壓
cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven‐3/3.5.4/bina ries/apache‐maven‐3.5.4‐bin.tar.gz
tar -xf apache-maven-3.5.4-bin.tar.gz
mv apache‐maven‐3.5.4 maven (改名)
8.2 設(shè)置環(huán)境變量
vim /etc/profile
###########
export M2_HOME=/usr/local/maven
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH
###########
source /etc/profile
8.3嘴办、測試:mvn -v
[root@jenkins ~]# mvn -v

9 安裝插件

Snipaste_2020-03-08_21-51-19.jpg

Gitlab作用:用于jenkins在gitlab中拉取源碼
Gitlab Hook 作用:本地發(fā)起push請求后瞬场,gitlab觸發(fā)一個HOOK,觸發(fā)gitlab鉤子后涧郊, 使用gitlab webhook調(diào)用服務(wù)器的一個鏈接
Gitlab Plugin
Gitlab Authentication 作用:認證主機的識別系統(tǒng)
Maven Integration
Pipeline Maven Integration
Publish Over SSH 作用:用于通過ssh部署應(yīng)用
Build Authorization Token Root
ssh
docker
docker-build-step

10 配置環(huán)境變量

10.1全局配置
1.git
進入容器 輸入 whereis git


Snipaste_2020-03-17_22-37-43.jpg

2
java 默認的的話都是java 虛擬機贯被,找到j(luò)vm 路徑下
即JDK到此目錄下/usr/lib/jvm 找
(會報錯,下面的紅字妆艘,但不用管它彤灶,直接應(yīng)用即可)


Snipaste_2020-03-17_22-39-59.jpg

因為使用的 時候需要編譯環(huán)境,編譯器需要編譯双仍,這里要有debug或其他的插件枢希,可能沒有裝全
這時候執(zhí)行 yum install -y java-1.8.0-openjdk* (它需要所有的jdk 的)

3.在進入全局配置maven
whereis maven


Snipaste_2020-03-17_22-39-19.jpg

10.2系統(tǒng)配置
jenkins插件 docker-build-step 的配置
為了設(shè)置docker的遠程管理和遠程登錄

配置docker端口2375 遠程登錄
需要先修改docker配置文件 (這臺服務(wù)器上要有docker)
位置 /usr/lib/systemd/system/docker.service
操作:
設(shè)置docker 遠程登錄的端口
(給操作系統(tǒng)開遠程端口)
cd /usr/lib/systemd/system
vim docker.service
修改前

image.png

注釋并添加(-H 后 添加端口等)
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
修改后
image.png

重啟docker
Systemctl daemon-reload
systemctl restart docker

jenkins插件 docker-build-step 的配置并 測試連接
找到 docker builder
此處填寫 可以是 遠程的ip,也可以是本地的
tcp://127.0.0.1:2375
點擊 test

image.png

11 .gitlab 項目中 添加 docker目錄 Dockerfile

Snipaste_2020-03-18_10-46-41.jpg

image.png

進入剛創(chuàng)建的docker目錄 創(chuàng)建dockerfile


Snipaste_2020-03-18_10-50-25.jpg

dockerfile內(nèi)容
獲得基礎(chǔ)鏡像
FROM tomcat
作者的信息
MAINTAINER "BY ZEE Version V2 15694917204@163.com"
設(shè)置工作目錄 (即剛進入時的目錄)
WORKDIR /usr/local/tomcat/webapps
清空一下
RUN rm -rf /usr/local/tomcat/webapps/*
拷貝war包到容器中,并改名
ADD MavenWebProject-dev.war /usr/local/tomcat/webapps/ROOT.war
設(shè)置用戶
USER root
暴露端口
EXPOSE 8080
設(shè)置啟動命令
CMD ["catalina.sh","run"]

image.png

12 創(chuàng)建maven項目并測試

Snipaste_2020-03-18_11-05-43.jpg

Snipaste_2020-03-08_22-15-51.jpg

剛在gitlab 改的那個項目 clone一下朱沃,填到此處苞轿,并添加gitlab的用戶和密碼


Snipaste_2020-03-18_11-08-28.jpg
Snipaste_2020-03-08_22-16-58.jpg
Snipaste_2020-03-08_22-17-15.jpg

選擇執(zhí)行shell


Snipaste_2020-03-18_11-12-29.jpg

Snipaste_2020-03-18_11-13-56.jpg

再次添加 執(zhí)行docker 命令


Snipaste_2020-03-18_11-17-18.jpg

選擇創(chuàng)建鏡像茅诱,并添加 docker 鏡像的tag ,用阿里云的倉庫(因為下一步要上傳到阿里云)
Snipaste_2020-03-18_11-19-04.jpg

又一次添加 執(zhí)行docker 命令
Snipaste_2020-03-18_11-17-18.jpg

選擇push images搬卒,填上 要push鏡像名瑟俭,添加阿里云 URL,和登錄阿里云的用戶和密碼


Snipaste_2020-03-18_11-22-43.jpg

保存

13 構(gòu)建并查看

Snipaste_2020-03-08_22-18-19.jpg

Snipaste_2020-03-18_11-32-41.jpg

到阿里云倉庫 查看 是否 存在push 的鏡像

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末契邀,一起剝皮案震驚了整個濱河市摆寄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坯门,老刑警劉巖微饥,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異古戴,居然都是意外死亡欠橘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門现恼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肃续,“玉大人,你說我怎么就攤上這事叉袍∈济” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵喳逛,是天一觀的道長瞧捌。 經(jīng)常有香客問我,道長润文,這世上最難降的妖魔是什么察郁? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮转唉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稳捆。我一直安慰自己赠法,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布乔夯。 她就那樣靜靜地躺著砖织,像睡著了一般。 火紅的嫁衣襯著肌膚如雪末荐。 梳的紋絲不亂的頭發(fā)上侧纯,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音甲脏,去河邊找鬼眶熬。 笑死,一個胖子當著我的面吹牛娜氏,可吹牛的內(nèi)容都是我干的拳缠。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼贸弥,長吁一口氣:“原來是場噩夢啊……” “哼窟坐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起绵疲,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤哲鸳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后盔憨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體徙菠,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年般渡,在試婚紗的時候發(fā)現(xiàn)自己被綠了懒豹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡驯用,死狀恐怖脸秽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝴乔,我是刑警寧澤记餐,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站薇正,受9級特大地震影響片酝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挖腰,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一雕沿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧猴仑,春花似錦审轮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至崖飘,卻和暖如春榴捡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背朱浴。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工吊圾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留达椰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓街夭,卻偏偏與公主長得像砰碴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子板丽,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容