欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ubuntu安裝jenkins完成自動(dòng)化構(gòu)建詳細(xì)步驟

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

前言

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

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

1.maven安裝

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

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

2. jenkins安裝

這里我的安裝過程有點(diǎn)崎嶇,我這就放兩種方式吧。但是前提都是確保你的服務(wù)器安裝了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 -
# 進(jìn)行第二步的時(shí)候可能報(bào)錯(cuò) “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存儲(chǔ)庫(kù)添加到系統(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. 啟動(dòng)jenkins
sudo systemctl start jenkins
## 啟動(dòng)jenkins后可以使用下面命令查看
sudo systemctl status jenkins # 查看運(yùn)行狀態(tài)
lsof -i:8080 # jenkins默認(rèn)端口是8080,查看端口運(yùn)行狀態(tài)

(2)war包方式

我這里使用前面的apt方式,安裝jenkins一直失敗不成功,解決一個(gè)問題又有新的問題,這里我又通過war包方式安裝(這里我也不知道這個(gè)方式需不需要基于前面的步驟,我這直接下載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包目錄下,啟動(dòng)war包就行了,使用java -jar
nohup java -jar jenkins.war > jenkins.log &
## 這里使用nohup + & 后臺(tái)啟動(dòng)war包,將jenkins日志輸出到j(luò)enkins.log中

(3)jenkins啟動(dòng)

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

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

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

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

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

進(jìn)入這個(gè)界面,jenkins就安裝完成了。

3.jenkins配置完成自動(dòng)化 構(gòu)建

新建任務(wù),選擇構(gòu)建一個(gè)maven項(xiàng)目

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

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

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

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

Dockerfile為構(gòu)建docker鏡像使用

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

start.sh作用:

創(chuàng)建需要的相關(guān)路徑,停止容器,刪除容器,刪除鏡像,重新構(gòu)建鏡像,啟動(dòng)項(xià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}'`
# 構(gòu)建鏡像(名稱為名字加當(dāng)前時(shí)間,可以防止鏡像名稱重復(fù))
docker build -t $name:$date .
# 啟動(dòng)鏡像,掛載需要的目錄
docker run -itd -p $port:$port -v $logs:/logs -v $temp:/temp --name $name $name:$date  bash

這些做完后,點(diǎn)擊立即構(gòu)建就可以完成Jenkins自動(dòng)構(gòu)建部署了。

4.測(cè)試

編寫一個(gè)測(cè)試接口

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

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

提交到git

點(diǎn)擊立即構(gòu)建,等待完成,查看構(gòu)建日志,可以看到是拉取到的我剛剛提交的最新代碼。

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

總結(jié)

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

相關(guān)文章

最新評(píng)論