Jenkins的安裝和部署

2020-08-08 13:35:55

前置

系統:Linux CentntOs 7
jdk : 1.8
maven: 3.5
git
docker

1. Jenkins的安裝

[1] war包的形式下載: http://mirrors.jenkins-ci.org/war/latest/jenkins.war
[2] 把下載後的war包移動到linux系統上
[3] 啓動jenkins
參數解釋:
/usr/local/jenkins/jenkins.war 表示你現在jenkins存放的路徑,根據實際情況更改
/usr/local/jenkins/jenkins.out 表示把你jenkins的輸出日誌的位置
& 表示在後台靜默啓動

nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

[4] 輸入你自己的主機ip + 8080
例如:http://192.168.31.85:8080/
在这里插入图片描述
這裏需要一個密碼驗證 (根據提示檢視紅色字型下的檔案
[5] 在linux上檢視金鑰,並把密碼輸入上面的框

cat /root/.jenkins/secrets/initialAdminPassword   # 檢視密碼

[6] 進入下一個頁面後,請別點選安裝。因爲官方下載外掛較慢,需要更換映象源
在这里插入图片描述
[7] 更換映象源
/root/.jenkins/ 該地址是你獲取金鑰的地址(即jenkins的安裝地址)

cd  /root/.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

這裏需要殺死剛纔啓動的jenkins進程,重新啓動

ps -ef | grep jenkins   # 檢視當前進程
kill 進程號    # 殺死進程
nohup java -jar  /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &   # 啓動jenkins

[8] 安裝外掛
在这里插入图片描述

在这里插入图片描述
[9] 建立一個使用者
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[10] 進入jenkins的主介面
在这里插入图片描述

2. jenkins的自動化部署專案

【1】在主介面進行環境的相關設定
在这里插入图片描述
【2】 設定系統中的jdk, maven, git 等環境
在这里插入图片描述
設定jdk
可以通過命令列查詢安裝路徑(下面 下麪的類似)

which jdk

在这里插入图片描述
設定Maven
在这里插入图片描述
設定Git
在这里插入图片描述
【3】 自動化構建專案
準備工作:
<1>需要在專案的根目錄下加上 Dockerfile檔案

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]

參數解釋:

./target/demojenkins.jar 表示你打包後目錄下的名字
demojenkins.jar 表示覆制到當前專案後的名字

<2> 在打包的pom.xml檔案上做兩處修改
修改打包的方式和打包後的名字
在这里插入图片描述
在这里插入图片描述
【4】 在jenkins管理化介面建立自動化的任務
在这里插入图片描述
在这里插入图片描述
在構建任務時需要設定遠端倉庫的地址和執行的指令碼
<1> 設定遠端倉庫的地址
在这里插入图片描述
在这里插入图片描述

<2> 新增可執行的指令碼
在这里插入图片描述
相關指令碼檔案:(只需要修改 路徑,專案名,埠號)

#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./
service_name="demojenkins"
service_prot=8081
#檢視映象id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $SERVER_NAME image,IID=$IID"
    #刪除映象
    docker rmi -f $service_name
    echo "delete $SERVER_NAME image"
    #構建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
else
    echo "no exist $SERVER_NAME image,build docker"
    #構建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
fi
#檢視容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $SERVER_NAME container,CID=$CID"
    #停止
    docker stop $service_name
    #刪除容器
    docker rm $service_name
else
    echo "no exist $SERVER_NAME container"
fi
#啓動
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#檢視啓動日誌
docker logs -f  $service_name

在这里插入图片描述
這樣就能成功構建一個任務

[5] 執行任務
執行任務時先啓動docker

service docker start

在这里插入图片描述
點選進入後在这里插入图片描述
Tips:

在这里插入图片描述
檢視控制檯輸出:
在这里插入图片描述
日誌內容
在这里插入图片描述
在这里插入图片描述