最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Ubuntu安裝jenkins完成自動化構建詳細步驟

 更新時間:2024年03月11日 09:59:12   作者:SingleCase  
Jenkins是一個開源的自動化服務器,可以用來輕松地建立持續(xù)集成和持續(xù)交付(CI/CD)管道,這篇文章主要給大家介紹了關于Ubuntu安裝jenkins完成自動化構建的相關資料,需要的朋友可以參考下

前言

本篇文章介紹Ubuntu系統(tǒng)中安裝jenkins,并使用jenkins完成自動化構建。

Jenkins自動構建部署流程通過git拉取代碼,然后用maven打包成jar包,然后通過docker完成項目部署。這里的服務器需要安裝jdk(openjdk也行),maven,git,docker,mysql,其他中間件(redis,mq等)。

1.maven安裝

Ubuntu的包管理工具是apt,不同操作系統(tǒng)的包管理工具不同,這里使用對應的管理工具進行安裝,我這里是Ubuntu,使用apt

# 1. 更新包索引
sudo apt update
# 2. 安裝maven
sudo apt install maven
# 3. 驗證是否安裝成功
mvn -version
# 4. 環(huán)境變量配置
export MAVEN_HOME=/usr/share/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
# 5. 環(huán)境變量更新
source ~/.bashrc
# 6.驗證環(huán)境變量是否配置成功
echo MAVEN_HOME
echo PATH
## 看到輸出東西就證明成功了

2. jenkins安裝

這里我的安裝過程有點崎嶇,我這就放兩種方式吧。但是前提都是確保你的服務器安裝了jdk或者openjdk

(1)apt方式安裝

# 1. 更新包索引
sudo apt update
# 2. 添加jenkins GPG密鑰
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 進行第二步的時候可能報錯 “gpg: no valid OpenPGP data found” ,是wget命令版本過舊問題,這里用下面命令即可
wget --no-check-certificate -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 3. 將jenkins存儲庫添加到系統(tǒng)
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 4. 更新包索引
sudo apt update
# 5. 安裝jenkins
sudo apt install jenkins
# 6. 啟動jenkins
sudo systemctl start jenkins
## 啟動jenkins后可以使用下面命令查看
sudo systemctl status jenkins # 查看運行狀態(tài)
lsof -i:8080 # jenkins默認端口是8080,查看端口運行狀態(tài)

(2)war包方式

我這里使用前面的apt方式,安裝jenkins一直失敗不成功,解決一個問題又有新的問題,這里我又通過war包方式安裝(這里我也不知道這個方式需不需要基于前面的步驟,我這直接下載war后,就成功了)

# 1. 下載jenkins的war包
# 1.1 這是下載最新版的jenkins,但是最新版的jenkins需要jdk11以上版本
wget http://updates.jenkins-ci.org/latest/jenkins.war
# 1.2 我這里是jdk8版本,所以下載2.346版本的jenkins
wget https://get.jenkins.io/war-stable/2.346/jenkins.war
# 2. 到war包目錄下,啟動war包就行了,使用java -jar
nohup java -jar jenkins.war > jenkins.log &
## 這里使用nohup + & 后臺啟動war包,將jenkins日志輸出到jenkins.log中

(3)jenkins啟動

啟動jenkins后,可以通過lsof命令查看端口占用來看jenkins是否啟動成功,啟動成功后,日志會有個密碼,初次登陸jenkins使用這個密碼。

登陸成功后,安裝推薦插件

首次安裝,可能會像我這樣出現(xiàn)很多錯誤,這是由于網(wǎng)絡原因,我們給jenkins配置一個國內(nèi)鏡像重啟一下就行了。

找到配置文件的位置,使用文本編輯器修改配置文件的鏡像

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

進入這個界面,jenkins就安裝完成了。

3.jenkins配置完成自動化 構建

新建任務,選擇構建一個maven項目

在源碼管理填入自己的git倉庫地址,然后在下面選擇賬號,新安裝的Jenkins沒有賬號,這里可以新增一個(注意:這里填的git賬號需要保證可以拉取到這個git項目)

選擇執(zhí)行shell腳本,輸入需要執(zhí)行的shell

# $WORKSPACE這個會自動找到Jenkins的工作目錄
ls $WORKSPACE/target
# 我這里將Jenkins目錄下打包的項目jar包,復制到制定目錄并重命名為demo.jar
cp $WORKSPACE/target/rabbitmq.jar /data/rabbimq/demo.jar
# 切換到jar所在目錄,然后執(zhí)行目錄下的start.sh腳本
cd /data/rabbimq
sh start.sh

這里看一下jar所在目錄下的文件

Dockerfile為構建docker鏡像使用

FROM openjdk:8-jre
WORKDIR /
ADD /demo.jar /demo.jar
EXPOSE 9000
ENTRYPOINT ["java","-Xms256m","-Xmx512m","-jar","demo.jar"]

start.sh作用:

創(chuàng)建需要的相關路徑,停止容器,刪除容器,刪除鏡像,重新構建鏡像,啟動項目,具體如下:

# 定義變量(后面通過$變量名使用)
dir=/data/rabbimq
name=demo
logs=/data/rabbimq/logs
port=9000
temp=/data/rabbimq/temp
if [ ! -d "$dir" ];then
  mkdir -p $dir
else
  echo "文件夾已經(jīng)存在"
fi
if [ ! -d "$logs" ];then
  mkdir -p $logs
fi
date=`date +%Y%m%d%H%M%S`
# 停止容器(按照容器id停止)
docker stop `docker ps -a|grep $name|awk '{print $1}'`
# 刪除容器(按照容器id刪除)
docker rm `docker ps -a|grep $name|awk '{print $1}'`
# 刪除鏡像
docker rmi `docker images|grep $name|awk '{print $1}'`:`docker images|grep $name|awk '{print $2}'`
# 構建鏡像(名稱為名字加當前時間,可以防止鏡像名稱重復)
docker build -t $name:$date .
# 啟動鏡像,掛載需要的目錄
docker run -itd -p $port:$port -v $logs:/logs -v $temp:/temp --name $name $name:$date  bash

這些做完后,點擊立即構建就可以完成Jenkins自動構建部署了。

4.測試

編寫一個測試接口

@Api(tags = "jenkins測試")
@RestController
@RequestMapping("/test/jenkins")
public class JenkinsTest {

    @GetMapping("/print")
    @ApiOperation("輸出")
    public Result test(@RequestParam String text) {
        return Result.success("Jenkins接收到參數(shù):" + text);
    }
}

提交到git

點擊立即構建,等待完成,查看構建日志,可以看到是拉取到的我剛剛提交的最新代碼。

完成后,訪問我的swagger地址,可以看到剛剛新寫的接口已經(jīng)部署上去了,為最新的代碼,查看服務器docker容器,也正在運行,到此就說明成功。

總結

到此這篇關于Ubuntu安裝jenkins完成自動化構建的文章就介紹到這了,更多相關Ubuntu安裝jenkins自動化構建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java 如何復制非空對象屬性值

    java 如何復制非空對象屬性值

    這篇文章主要介紹了java 如何復制非空對象屬性值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • IDEA快速搭建spring?boot項目教程(Spring?initializr)

    IDEA快速搭建spring?boot項目教程(Spring?initializr)

    這篇文章主要介紹了IDEA快速搭建spring?boot項目教程(Spring?initializr),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 簡單談談Java類與類之間的關系

    簡單談談Java類與類之間的關系

    類與類之間的關系對于理解面向?qū)ο缶哂泻苤匾淖饔茫郧霸诿嬖嚨臅r候也經(jīng)常被問到這個問題,在這里我就簡單給大家介紹一下。
    2016-05-05
  • SpringBoot如何進行業(yè)務校驗實例詳解

    SpringBoot如何進行業(yè)務校驗實例詳解

    這篇文章主要給大家介紹了關于SpringBoot如何進行業(yè)務校驗的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • java實現(xiàn)Excel轉(zhuǎn)換為圖片

    java實現(xiàn)Excel轉(zhuǎn)換為圖片

    在實際開發(fā)過程中,經(jīng)常會有這樣的需求,需要將Excel表格或特定區(qū)域轉(zhuǎn)換為圖片,所以小編今天就來為大家介紹一下如何使用Java將Excel轉(zhuǎn)化為圖片吧
    2023-10-10
  • Java多線程實現(xiàn)模擬12306火車站售票系統(tǒng)

    Java多線程實現(xiàn)模擬12306火車站售票系統(tǒng)

    12360火車票售票系統(tǒng)基本上大家都用過,那你知道是怎么實現(xiàn)的嗎,今天我們就模擬12306火車站售票系統(tǒng)來實現(xiàn),需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • centos下安裝openjdk21的詳細圖文教程

    centos下安裝openjdk21的詳細圖文教程

    這篇文章主要介紹了centos下安裝openjdk21的相關資料,文章詳細介紹了如何手動下載、解壓和配置OpenJDK?21,包括下載OpenJDK、上傳到指定目錄、解壓、編輯環(huán)境變量和驗證安裝成功的過程,需要的朋友可以參考下
    2024-12-12
  • ConcurrentHashMap線程安全及實現(xiàn)原理實例解析

    ConcurrentHashMap線程安全及實現(xiàn)原理實例解析

    這篇文章主要介紹了ConcurrentHashMap線程安全及實現(xiàn)原理實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • SpringBoot整合BCrypt實現(xiàn)密碼加密

    SpringBoot整合BCrypt實現(xiàn)密碼加密

    這篇文章主要為大家詳細介紹了SpringBoot整合BCrypt進行密碼加密,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java中get/post的https請求忽略ssl證書認證淺析

    Java中get/post的https請求忽略ssl證書認證淺析

    因為Java在安裝的時候,會默認導入某些根證書,所以有些網(wǎng)站不導入證書,也可以使用Java進行訪問,這篇文章主要給大家介紹了關于Java中get/post的https請求忽略ssl證書認證的相關資料,需要的朋友可以參考下
    2024-01-01

最新評論

松阳县| 宿迁市| 龙陵县| 浦北县| 乌拉特前旗| 和政县| 武城县| 文化| 长沙市| 四子王旗| 南召县| 甘肃省| 凤城市| 汕尾市| 定结县| 涿鹿县| 故城县| 民丰县| 滦南县| 府谷县| 湘西| 偏关县| 东丽区| 佛坪县| 炎陵县| 玉环县| 化州市| 邛崃市| 调兵山市| 石景山区| 镇原县| 札达县| 韶关市| 烟台市| 同江市| 普格县| 育儿| 岗巴县| 怀来县| 微山县| 旌德县|