jenkins如何進行自動化部署
jenkins自動化部署
hello,大家好,前文我們已經(jīng)下載好我們的jenkins了,下面我們用jenkins來實現(xiàn)自動化部署啦!
一、下載插件
我們選擇插件管理

一個是Maven Integration plugin,一個是 Publish Over SSH


這里因為作者已經(jīng)下載好了,所以在Installed可以查找到
二、設置全局工具配置
maven和jdk下載可以去查看作者
2.1maven

如果報403的話將自己掛載jenkins目錄下面的config.xml文件中的

掛載的jenkins目錄下創(chuàng)建一個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
我們來查看一下是否下載成功
git --version
![]()
可以看到我們已經(jīng)下載好了,默認下載的路徑為 /usr/bin/git

三、系統(tǒng)配置
我們使用以下命令來生成ssh密鑰
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
生成之后,路徑就是在/root/.ssh/中

我們把id_rsa.pub中的公鑰,粘貼到authorized_keys中,authorized_keys即授權(quán)公鑰,是別人連接自己時,需要查詢的,沒有則不給連

完成之后保存,下面我們就要構(gòu)建任務啦
四、任務構(gòu)建

點擊新建任務

名稱需要自己填,然后點擊確定
我們寫完項目之后,作者使用的是springboot簡單的一個項目寫完之后要推送自己的git倉庫

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':定義了一個變量group_name并賦值為 'yanshuling',用于指定 Docker 鏡像的組名。app_name='yanshuling':定義了一個變量app_name并賦值為 'yanshuling',用于指定應用程序的名稱。app_version='0.0.1.jar':定義了一個變量app_version并賦值為 '0.0.1.jar',用于指定應用程序的版本。echo '----copy jar----':輸出一段文本 '----copy jar----',用于提示正在進行復制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/,假設該目錄是包含了你的 Java 應用程序代碼和相關(guān)文件的目錄。docker build -t ${group_name}/${app_name}:${app_version} .:基于當前目錄下的 Dockerfile 構(gòu)建一個名為${group_name}/${app_name}:${app_version}的 Docker 鏡像。docker run -p 8686:8080 --name ${app_name} \ ...:運行一個 Docker 容器,映射主機端口 8686 到容器內(nèi)部的端口 8080,設置時區(qū)為 Asia/Shanghai,容器的名稱為${app_name},鏡像為${group_name}/${app_name}:${app_version}。

構(gòu)建

然后我們點擊保存,點擊開始構(gòu)建,就成功啦,等到構(gòu)建完成之后,我們可以看看自己的容器有沒有啟動成功哦~
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows環(huán)境GeoServer打包Docker的方法實現(xiàn)
本文介紹了在Windows環(huán)境下將GeoServer打包為Docker鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12
如何使用Docker和cpolar在Linux服務器上搭建DashDot監(jiān)控面板
本文主要介紹如何在Linux服務器上使用Docker和cpolar技術(shù)搭建DashDot監(jiān)控面板,實現(xiàn)實時服務器監(jiān)控,DashDot提供直觀的監(jiān)控界面和豐富的指標,通過cpolar可以實現(xiàn)公網(wǎng)訪問,方便用戶隨時了解服務器狀態(tài),文章詳細說明了環(huán)境準備、安裝Docker、配置DashDot和cpolar的步驟2024-09-09
Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認證的方法
這篇文章主要介紹了Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Docker執(zhí)行DockerFile構(gòu)建過程指令解析
這篇文章主要為大家介紹了Docker執(zhí)行DockerFile構(gòu)建過程及DockerFile的指令解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪<BR>2022-04-04
詳解ASP.NET Core 網(wǎng)站在Docker中運行
本篇文章主要介紹了詳解ASP.NET Core 網(wǎng)站在Docker中運行,非常具有實用價值,需要的朋友可以參考下2017-05-05

