jenkins如何進(jìn)行自動(dòng)化部署
jenkins自動(dòng)化部署
hello,大家好,前文我們已經(jīng)下載好我們的jenkins了,下面我們用jenkins來(lái)實(shí)現(xiàn)自動(dòng)化部署啦!
一、下載插件
我們選擇插件管理
一個(gè)是Maven Integration plugin,一個(gè)是 Publish Over SSH
這里因?yàn)樽髡咭呀?jīng)下載好了,所以在Installed可以查找到
二、設(shè)置全局工具配置
maven和jdk下載可以去查看作者
2.1maven
如果報(bào)403的話將自己掛載jenkins目錄下面的config.xml文件中的
掛載的jenkins目錄下創(chuàng)建一個(gè)mavenRepository文件并且賦權(quán)限
chmod 777 mavenRepository
將下載好maven中的/maven/apache-maven-3.9.6/conf/settings中的
還要配置一下鏡像加速
作者將鏡像放在下面了
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
2.2jdk
2.3git
我們使用以下命令
yum install git
我們來(lái)查看一下是否下載成功
git --version
可以看到我們已經(jīng)下載好了,默認(rèn)下載的路徑為 /usr/bin/git
三、系統(tǒng)配置
我們使用以下命令來(lái)生成ssh密鑰
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
生成之后,路徑就是在/root/.ssh/中
我們把id_rsa.pub中的公鑰,粘貼到authorized_keys中,authorized_keys即授權(quán)公鑰,是別人連接自己時(shí),需要查詢的,沒(méi)有則不給連
完成之后保存,下面我們就要構(gòu)建任務(wù)啦
四、任務(wù)構(gòu)建
點(diǎn)擊新建任務(wù)
名稱需要自己填,然后點(diǎn)擊確定
我們寫(xiě)完項(xiàng)目之后,作者使用的是springboot簡(jiǎn)單的一個(gè)項(xiàng)目寫(xiě)完之后要推送自己的git倉(cāng)庫(kù)
shell腳本
group_name='yanshuling' app_name='yanshuling' app_version='0.0.1.jar' echo '----copy jar----' docker stop ${app_name} docker rm ${app_name} docker rmi ${group_name}/${app_name}:${app_version} cd /yuan/brook/yanshuling/ docker build -t ${group_name}/${app_name}:${app_version} . docker run -p 8686:8080 --name ${app_name} \ -e TZ="Asia/Shanghai" \ -d ${group_name}/${app_name}:${app_version}
解釋一下:
group_name='yanshuling'
:定義了一個(gè)變量group_name
并賦值為 'yanshuling',用于指定 Docker 鏡像的組名。app_name='yanshuling'
:定義了一個(gè)變量app_name
并賦值為 'yanshuling',用于指定應(yīng)用程序的名稱。app_version='0.0.1.jar'
:定義了一個(gè)變量app_version
并賦值為 '0.0.1.jar',用于指定應(yīng)用程序的版本。echo '----copy jar----'
:輸出一段文本 '----copy jar----',用于提示正在進(jìn)行復(fù)制jar文件的操作。docker stop ${app_name}
:停止名為${app_name}
的 Docker 容器。docker rm ${app_name}
:刪除名為${app_name}
的 Docker 容器。docker rmi ${group_name}/${app_name}:${app_version}
:刪除名為${group_name}/${app_name}:${app_version}
的 Docker 鏡像。cd /yuan/brook/yanshuling/
:切換目錄到/yuan/brook/
,假設(shè)該目錄是包含了你的 Java 應(yīng)用程序代碼和相關(guān)文件的目錄。docker build -t ${group_name}/${app_name}:${app_version} .
:基于當(dāng)前目錄下的 Dockerfile 構(gòu)建一個(gè)名為${group_name}/${app_name}:${app_version}
的 Docker 鏡像。docker run -p 8686:8080 --name ${app_name} \ ...
:運(yùn)行一個(gè) Docker 容器,映射主機(jī)端口 8686 到容器內(nèi)部的端口 8080,設(shè)置時(shí)區(qū)為 Asia/Shanghai,容器的名稱為${app_name}
,鏡像為${group_name}/${app_name}:${app_version}
。
構(gòu)建
然后我們點(diǎn)擊保存,點(diǎn)擊開(kāi)始構(gòu)建,就成功啦,等到構(gòu)建完成之后,我們可以看看自己的容器有沒(méi)有啟動(dòng)成功哦~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件
本文主要介紹了Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05docker部署vue項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了docker部署vue項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Docker?Kill/Pause/Unpause命令使用與區(qū)別小結(jié)
本文詳細(xì)介紹了Docker中的三個(gè)重要命令,kill、pause和unpause,這些命令在管理和操作運(yùn)行中的容器時(shí)非常有用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03