Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

怒吼的萝卜發表於2024-11-23

前言

公司專案多忙著開發,所有專案服務都是博主一個個部署的,時間久了也是心累,所以抽時間把Jenkins部署上,之後讓其他開發人員自己部署(讓我解脫吧!!)。

部署Jenkins容器

Docker安裝就不在贅述了,可以看我之前的文章(懶了);直接開始拉取jenkins映象。

拉取映象

docker pull jenkins/jenkins:2.486-jdk17

下載Maven

博主部署的服務主要是Java為後端+Vue為前端,所以需要Maven支撐Java服務;其他服務(c++、python、go、rust等)可以選擇跳過這步。

Maven下載連結:https://maven.apache.org/download.cgi

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

這裡選的是Stable(穩定版)。

解壓Maven包

將壓縮包透過Xftp工具上傳到伺服器中,這裡我在home目錄下建立了Jenkins目錄用來存放包(/home/jenkins)。

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

解壓Maven包

tar -xzf apache-maven-3.8.8-bin.tar.gz

更改Setting檔案

修改Maven的依賴包儲存路徑和下載源地址,依賴包儲存路徑博主建立在 /home/jenkins/repository

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

修改Maven的setting.xml檔案

# 建立Maven本地倉庫目錄
cd /home/jenkins
mkdir repository
# 賦予許可權
chown -R 1000:1000 /home/jenkins/repository

# 切換Maven目錄
cd apache-maven-3.8.8
# 修改settings.xml
vim ./conf/settings.xml

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

下載Node.js

博主部署的服務主要是Java為後端+Vue為前端,所以需要Node.js支撐Vue服務;其他服務(c++、python、go、rust等)可以選擇跳過這步。

Node.js下載連結:https://nodejs.org/dist/

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

解壓Node.js包

將壓縮包透過Xftp工具上傳到伺服器中,這裡我還是放在/home/Jenkins目錄下。

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

解壓Node.js包

tar -xzf node-v18.18.0-linux-x64.tar.gz

建立Jenkins容器

注意:建立容器前需要給資料夾設定許可權,否則Jenkins掛載時會報錯許可權不足!

建立 /home/jenkins/data 用於對映Jenkins的資料,並賦予許可權

# 切換目錄
cd /home/jenkis
# 建立data資料夾
mkdir data
# 賦予許可權
chown -R 1000:1000 /home/jenkins/data

等下會將宿主機的docker.sock檔案對映到Jenkins中,也需要賦予許可權

# 賦予許可權
chown -R 1000:1000 /var/run/docker.sock

容器建立命令

docker run -p 10240:8080 -p 10241:50000 \
 --restart always \
 -v /home/jenkins/data:/var/jenkins_home\
 -v /home/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 \
 -v /home/jenkins/repository:/opt/maven/repository \
 -v /home/jenkins/node-v18.18.0-liunx-x64:/opt/node/node-v18.18.0-liunx-x64 \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /usr/bin/docker:/usr/bin/docker \
 -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
 -v /etc/localtime:/etc/localtime \
 --name jenkins \
 -d jenkins/jenkins:2.486-jdk17

--restart always :配置開機自啟,失敗自動重啟

-v /home/jenkins/data:/var/jenkins_home\ :將Jenkins的資料掛載到宿主機

-v /home/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 \ :將Maven掛載到Jenkins容器中

-v /home/jenkins/repository:/opt/maven/repository \ :將Maven本地倉庫路徑掛載到Jenkins容器中,settings.xml中的路徑配置的是容器內的倉庫路徑

-v /home/jenkins/node-v18.18.0-liunx-x64:/opt/node/node-v18.18.0-liunx-x64 \ :將Node.js掛載到Jenkins容器中

-v /var/run/docker.sock:/var/run/docker.sock \ :將宿主機Docker掛載到Jenkins容器中,方便Jenkins操作宿主機的Docker部署服務

-v /usr/bin/docker:/usr/bin/docker \ :將宿主機Docker掛載到Jenkins容器中,方便Jenkins操作宿主機的Docker部署服務

-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \ :將宿主機docker-compose掛載到Jenkins容器中,方便Jenkins操作宿主機的docker-compose部署服務

-v /etc/localtime:/etc/localtime \ :將宿主機時間資訊掛載到Jenkins容器中

訪問Jenkins頁面

訪問地址:http://你的ip:10240

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

這裡的密碼存放地址已經透過掛載方式對映到宿主機的 /home/jenkins/data 中,所以可以透過如下命令檢視

tail /home/jenkins/data/secrets/initialAdminPassword

配置Jenkins部署

基礎外掛安裝

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

開始漫長的等待…………

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

設定完成後,重啟下容器在登陸。

安裝GitLab外掛

進入 系統管理 -> 外掛管理

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

選擇 外掛商城 -> 搜尋外掛 ;勾選外掛點選右上角安裝。

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

常用外掛安裝

GitLab(程式碼倉庫管理):公司自己搭建的GitLab,大家根據自己情況下載其他倉庫管理 GitHub Gitee GitCode 等等

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Git Parameter Plug-In(git分支管理):可以在構建的時候選擇git的某一個分支來構建服務

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Pipeline(流水線管理):Jenkins開始進入的時候,推薦安裝時會自動裝,但是有可能會安裝失敗,所以在商城搜一下,搜不到就說明裝了

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Maven Integration(Maven構建工具)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Extended Choice Parameter(引數化構建外掛):它允許我們在構建過程中動態地設定和傳遞引數。對於需要使用者輸入或者動態選擇的引數,我們可以使用多選框、單選框等來呈現

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

NodeJS(前端構建依賴環境)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

SSH(遠端登入服務)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Role-based Authorization Strategy(Jenkins使用者許可權管理外掛)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

SonarQube Scanner(程式碼檢測外掛)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Job ConfigurationHistory(更新歷史記錄外掛)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Build Name and Description(構建時自定義名稱)

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置環境變數

進入 系統管理 -> 系統配置

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

向下拉拽,找到全域性屬性,配置Maven、Node環境變數

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置GitLab資訊

進入 系統管理 -> 系統配置 ;還是在系統配置內,向下拉找到GitLab

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

新增GitLab的API Token

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

獲取GitLab個人API Token的方式

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

選擇剛才建立的API Token,測試連結

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置全域性工具配置

進入 系統管理 -> 全域性工具配置

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置Maven的settings.xml檔案位置

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置Git路徑

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置Maven路徑

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

配置Node.js路徑

Docker:Docker部署Jenkins並共用宿主機Docker部署微服務多模組(一)Jenkins部署及外掛環境搭建

點選儲存!

相關文章