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

使用Docker安裝部署Jenkins教程分享

 更新時(shí)間:2026年04月29日 11:03:39   作者:努力成長(zhǎng)的小白  
本文主要講述了如何通過Docker安裝Jenkins以及使用Jenkins部署項(xiàng)目的前置準(zhǔn)備,包括配置JDK環(huán)境D配置Maven環(huán)境D使用Docker安裝Jenkins和創(chuàng)建Jenkins容器D安裝插件D創(chuàng)建管理員用戶D配置JDK和MavenD創(chuàng)建Pipeline構(gòu)建D等agesDsteps以及腳本式Pipeline等

本文主要記錄如何通過docker安裝jenkins,并且通過jenkins部署項(xiàng)目

前置準(zhǔn)備:jenkins所在宿主服務(wù)器首先安裝好jdk、maven

一、配置JDK環(huán)境

注意:選擇適合自己的JDK,并且注意安裝JDK的系統(tǒng)

地址:https://www.oracle.com/java/technologies/downloads/#java8

1、卸載linux系統(tǒng)自帶的JDK

(建議直接用超級(jí)用戶,不然卸載的時(shí)候可能會(huì)報(bào)權(quán)限不夠的error,之后的操作也需要用root權(quán)限)

1.1、切換用戶:su root

su root

1.2、查看自帶JDK命令:rpm -qa | grep jdk

rpm -qa | grep jdk

1.3、卸載自帶JDK命令:rpm -e --nodeps 要卸載的JDK

rpm -e --nodeps 要卸載的JDK

2、在usr/local目錄下創(chuàng)建java目錄

把我們下載好的JDK壓縮包上傳到 創(chuàng)建好的 java目錄下(我放在該目錄下了,也可以放在其他目錄下)

創(chuàng)建安裝目錄:mkdir java

cd /usr/local
mkdir java
cd java

3、把壓縮包解壓到當(dāng)前目錄(我們創(chuàng)建的java目錄下),解壓命令:tar -zxvf 所要解壓的文件名

tar -zxvf 所要解壓的文件名

4、編輯profile文件:vim /etc/profile

把光標(biāo)移到最后一行,鍵盤按 i,進(jìn)入編輯模式,然后插入以下內(nèi)容:(注意自己所建java的路徑、jdk的名稱)

JAVA_HOME=/usr/local/java/jdk1.8.0_381
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

然后按ESC退出編輯模式,‘shift + :’,輸入wq,回車,完成保存并退出

5、讓編輯的文件生效執(zhí)行:source /etc/profile

6、最后驗(yàn)證JDK安裝是否成功:java -version

[root@aliyun ~]# cd /usr/local/java
[root@aliyun java]# ls
jdk-8u381-linux-x64.tar.gz
[root@aliyun java]# tar -zxvf jdk-8u381-linux-x64.tar.gz
[root@aliyun java]# vim /etc/profile
[root@aliyun java]# source /etc/profile
[root@aliyun java]# java -version
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

出現(xiàn)上述顯示,則完畢!

二、配置Maven環(huán)境

1、準(zhǔn)備Maven安裝包

打開Maven官網(wǎng):Maven – Download Apache Maven

我選擇是3.9.3版本(選擇適合自己的版本),找到后綴名是.tar.gz的文件下載,如圖所示:

1.1、創(chuàng)建安裝目錄:mkdir maven

cd /usr/local
mkdir maven
cd maven

1.2、把壓縮包解壓到當(dāng)前目錄(我們創(chuàng)建的maven目錄下),解壓命令:tar -zxvf 所要解壓的文件名

tar -zxvf 所要解壓的文件名

1.3、解壓完畢以后,新建一個(gè)repository倉庫,用于存放Maven下載下來的jar包

mkdir repository

2、配置鏡像

編輯settings.xml文件

vi apache-maven-3.9.3/conf/settings.xml

按i鍵進(jìn)入編輯模式

1.設(shè)置Maven倉庫,就是我剛才新建的文件夾

<localRepository>/maven/repository</localRepository>

2.配置為阿里云鏡像地址

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>

按Esc鍵退出編輯模式,輸入:wq保存并退出vim編輯器

3、配置環(huán)境變量

編輯profile文件

vim /etc/profile

按i鍵進(jìn)入編輯模式

添加如下環(huán)境變量

export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.3
export PATH=$PATH:$MAVEN_HOME/bin

按Esc鍵退出編輯模式,輸入:wq保存并退出vim編輯器

運(yùn)行以下命令使profile文件生效

source /etc/profile

檢查環(huán)境配置是否成功

mvn -v

大功告成!

三、Jenkins環(huán)境搭建–Docker

#查看你需要安裝的版本
docker search jenkins
#安裝鏡像包
docker pull jenkins/jenkins   #默認(rèn)安裝最新版本
#安裝指定版本 指令入下
docker pull jenkins/jenkins:xx(版本號(hào))
#查看是否安裝成功(查看鏡像包)
docker images

1、使用以下命令下載Jenkins鏡像(安裝最新版)

docker pull jenkins/jenkins:latest

2、啟動(dòng)并創(chuàng)建Jenkins容器

#啟動(dòng)命令:
docker run -u root -d \
-p 10240:8080 -p 10241:50000 \
-v /var/jenkins_home/workspace/:/var/jenkins_home/workspace/ \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/local/java/jdk1.8.0_381:/usr/local/java \
-v /usr/local/maven/apache-maven-3.9.3:/usr/local/maven \
-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" \
--name myjenkins jenkins/jenkins
 
 #解釋:
-d :后臺(tái)運(yùn)行
-p:10240:8080 鏡像8080 :端口映射到宿主機(jī) 10240端口
-p:10241:50000 鏡像50000 :端口映射到宿主機(jī) 10241端口
-v:/var/jenkins_home/workspace/:/var/jenkins_home/workspace/
/var/jenkins_home/workspace/ 宿主機(jī)的Jenkins目錄掛載路徑 jenkins
/var/jenkins_home/workspace/ 鏡像服務(wù)器中jenkins的工作目錄
-v /usr/bin/docker:/usr/bin/docker  : 掛載docker
-v /usr/local/java/jdk1.8.0_381:/usr/local/java : 掛載映射宿主機(jī)jdk
-v /usr/local/maven/apache-maven-3.9.3:/usr/local/maven : 掛載映射宿主機(jī)maven
-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" \ :同步時(shí)間
--name myjenkins(自定義容器名稱) jenkins/jenkins(需要映射容器名稱)

如果執(zhí)行命令發(fā)現(xiàn)jenkins沒有啟動(dòng)成功,很大概率是因?yàn)閽燧d的目錄沒有權(quán)限,需要授權(quán)

chown -R 1000:1000 /root/apply/jenkins_mount
chown -R 1000:1000 /root/apply/apache-maven-3.8.4 
chown -R 1000:1000 /usr/local/jenkins 
chown -R 1000:1000 /etc/localtime

jenkins容器啟動(dòng)以后,咱們就需要到阿里云或者是騰訊云中,將端口為10240打開

瀏覽器訪問:你的服務(wù)器ip:10240。不出意外,你就能訪問到j(luò)enkins了。

3、進(jìn)入容器,查看登錄初始化密碼

執(zhí)行命令:

docker exec -it myjenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword

選擇安裝推薦插件

2.3版本安裝插件很多失敗,我換成了2.415版本

安裝完成后創(chuàng)建管理員用戶

4、配置Jenkins

4.1、安裝三個(gè)插件: Publish Over SSH和Maven Integration和GitLab ,點(diǎn)擊: 系統(tǒng)管理->插件管理 -> 可選插件中進(jìn)行輸入安裝。

如下圖所示:

4.2、安裝好上一步中的幾個(gè)插件之后,接下來需要在jenkins中配置一下Git和SSH: 點(diǎn)擊:系統(tǒng)管理 -> 系統(tǒng)配置 -> 找到Git和SSH

4.3、配置JDK和Maven: 點(diǎn)擊:系統(tǒng)管理 -> 全局工具配置 -> 找到JDK和Maven

四、使用Jenkins構(gòu)建項(xiàng)目

Jenkins中構(gòu)建項(xiàng)目的類型有很多,常用的有以下三種:

  • 自由風(fēng)格軟件項(xiàng)目(FreeStyle Project)(推薦)
  • Maven項(xiàng)目(Maven Project)
  • 流水線項(xiàng)目(Pipeline Project)(推薦)

實(shí)際上每種類型的構(gòu)建都可以完成一樣的構(gòu)建過程與結(jié)果,只是在操作方式、靈活度等方面有所區(qū)別,在實(shí)際開發(fā)中可以根據(jù)自己的需求和習(xí)慣來選擇。從靈活度上來說,流水線類型是最高的。

1、Pipeline流水線項(xiàng)目構(gòu)建(推薦)

簡(jiǎn)單來說,Pipeline就是一套運(yùn)行在 Jenkins 上的工作流框架,將原來獨(dú)立運(yùn)行于單個(gè)或者多個(gè)節(jié)點(diǎn)的任務(wù)連接起來,實(shí)現(xiàn)單個(gè)任務(wù)難以完成的復(fù)雜流程編排和可視化的工作。

Pipeline支持兩種語法:聲明式(Declarative)和腳本式(Scripted Pipeline)語法。

注意:需要安裝Pipeline插件

1.1、聲明式項(xiàng)目構(gòu)建

  • stages:代表整個(gè)流水線的所有執(zhí)行階段,通常stages只有1個(gè),里面包含多個(gè)stage。
  • stage:代表流水線中的某個(gè)階段,可能出現(xiàn)n個(gè)。一般分為拉取代碼、編譯構(gòu)建、部署等階段。
  • steps:代表一個(gè)階段內(nèi)需要執(zhí)行的邏輯。steps里面是shell腳本,git拉取代碼、ssh遠(yuǎn)程發(fā)布等任意內(nèi)容。

這里,我們編寫一個(gè)簡(jiǎn)單聲明式的Pipeline,來感受一下整個(gè)構(gòu)建過程:

pipeline {
 agent any
 stages {
   stage('拉取代碼') {
    steps {
      echo '拉取代碼'
    }
   }
   stage('編譯構(gòu)建') {
    steps {
      echo '編譯構(gòu)建'
    }
   }
   stage('項(xiàng)目部署') {
    steps {
      echo '項(xiàng)目部署'
    }
   }
 }
}

開始構(gòu)建,并輸出構(gòu)建結(jié)果

1.2、腳本式項(xiàng)目構(gòu)建

  • Node :節(jié)點(diǎn),一個(gè) Node 就是一個(gè) Jenkins 節(jié)點(diǎn),Master 或者 Agent,是執(zhí)行 Step 的具體運(yùn)行環(huán)境。
  • Stage :階段,一個(gè) Pipeline 可以劃分為若干個(gè) Stage,每個(gè) Stage 代表一組操作,比如:Build、Test、Deploy,Stage 是一個(gè)邏輯分組的概念。
  • Step :步驟,Step 是最基本的操作單元,可以是打印一句話,也可以是構(gòu)建一個(gè) Docker 鏡像,由各類 Jenkins 插件提供,比如命令:sh ‘make’,就相當(dāng)于我們平時(shí) shell 終端中執(zhí)行 make 命令一樣。

編寫一個(gè)簡(jiǎn)單的腳本式Pipeline:

node {
   def mvnHome
   stage('Preparation') {
       echo '拉取代碼'
   }
   stage('Build') {
       echo '編譯構(gòu)建'
   }
   stage('Results') {
       echo '項(xiàng)目部署'
   }
}

開始構(gòu)建,并輸出構(gòu)建結(jié)果

1.3、使用腳本構(gòu)建項(xiàng)目

如果不會(huì)寫流水線腳本,選擇流水線語法可以自動(dòng)生成Pipeline語法

點(diǎn)擊【流水線語法】進(jìn)入新頁面

選擇想要生成的流水線腳本,填寫對(duì)應(yīng)配置然后生成

Git拉取代碼流水線語句:

連接服務(wù)器執(zhí)行語句:

最終的流水線腳本:

pipeline {
    agent any

    tools {
        maven "maven3.9.3"
        jdk "jdk1.8"
    }

    stages {
        stage('拉取代碼') {
            steps {
                git credentialsId: '4ef30b0b-a335-4a6e-bfbe-151d59676f44', url: 'http://42.236.74.152:8050/fumingxing/cmcc-tenant.git'
            }
        }
	stage('編譯打包') {
            steps {
                sh '''echo "開始構(gòu)建"
                mvn clean install -Dmaven.test.skip=true
                echo "構(gòu)建結(jié)束"'''
            }
        }
        
        stage("服務(wù)傳輸、啟動(dòng)"){
             steps {
               sshPublisher(publishers: [sshPublisherDesc(configName: 'mySSH', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''#第一步是進(jìn)入到服務(wù)器中生成好的jar包的目錄下
cd /var/jenkins_home/workspace/mytest/ruoyi-admin/target

#第二步是根據(jù)jar包的名字獲取運(yùn)行的pid,并且將該進(jìn)程殺死
ps -ef | grep ruoyi-admin.jar   |   grep -v   grep   |   awk \'{printf $2}\'  |  xargs kill -9

#最后一步就是將這個(gè)jar后臺(tái)啟動(dòng)了,并且將日志輸出到out.log中。
nohup java -Xms128m -Xmx128m -Xss1024k -XX:MaxNewSize=64M -XX:MaxPermSize=64M -jar ruoyi-admin.jar >out.log 2>&1 &''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: 'ruoyi-admin/target', sourceFiles: 'ruoyi-admin/target/ruoyi-admin.jar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
            }
        }
    }
    
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 內(nèi)網(wǎng)環(huán)境下registry搭建步驟詳解

    內(nèi)網(wǎng)環(huán)境下registry搭建步驟詳解

    這篇文章主要為大家介紹了內(nèi)網(wǎng)環(huán)境下的registry搭建步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 詳解Docker容器的日志處理

    詳解Docker容器的日志處理

    這篇文章主要介紹了詳解Docker容器的日志處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Docker Attach 命令及操作場(chǎng)景應(yīng)用(容器交互機(jī)制)

    Docker Attach 命令及操作場(chǎng)景應(yīng)用(容器交互機(jī)制)

    Docker attach用于連接運(yùn)行容器的IO流,實(shí)現(xiàn)調(diào)試與監(jiān)控,核心參數(shù)包括--detach-keys自定義退出鍵、--no-stdin避免誤操作,生產(chǎn)環(huán)境建議配合安全配置使用,開發(fā)環(huán)境可靈活操作,接下來通過本文給大家介紹Docker Attach 命令的操作應(yīng)用,感興趣的朋友一起看看吧
    2025-08-08
  • Ollma本地部署Qwen2.5 14B的詳細(xì)過程(不使用docker)

    Ollma本地部署Qwen2.5 14B的詳細(xì)過程(不使用docker)

    本文介紹了如何在不使用Docker的情況下部署Ollama模型和Open-webui實(shí)現(xiàn)可視化界面,Ollama模型通過命令行操作,包括啟動(dòng)、創(chuàng)建、運(yùn)行等,Open-webui則需要安裝Anaconda環(huán)境,安裝并啟動(dòng)服務(wù)后,通過瀏覽器訪問即可使用,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 詳解Docker鏡像的基本操作方法

    詳解Docker鏡像的基本操作方法

    這篇文章主要介紹了Docker鏡像的基本操作方法,主要包括獲取鏡像和運(yùn)行鏡像的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Alpine鏡像中如何安裝telnet

    Alpine鏡像中如何安裝telnet

    BusyBox是一個(gè)在嵌入式系統(tǒng)和資源受限環(huán)境中廣泛使用的工具集合,它為用戶提供了輕量級(jí)、功能強(qiáng)大和靈活的命令行工具集,這篇文章主要介紹了Alpine鏡像中安裝telnet,需要的朋友可以參考下
    2024-06-06
  • docker修改容器配置文件的3種方法總結(jié)

    docker修改容器配置文件的3種方法總結(jié)

    有時(shí)候可能需要修改運(yùn)行在docker容器中的nginx的配置文件,或者其他一些已經(jīng)運(yùn)行和啟動(dòng)很久的容器中的配置文件,下面這篇文章主要給大家介紹了關(guān)于docker修改容器配置文件的3種方法,需要的朋友可以參考下
    2022-04-04
  • docker bashrc文件的合理配置方案詳解

    docker bashrc文件的合理配置方案詳解

    本文給大家詳細(xì)介紹docker bashrc文件的合理配置方案詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-10-10
  • 解決docker目錄內(nèi)存不足擴(kuò)容處理方案

    解決docker目錄內(nèi)存不足擴(kuò)容處理方案

    文章介紹了Docker存儲(chǔ)目錄遷移方法:因系統(tǒng)盤空間不足,需將Docker數(shù)據(jù)遷移到更大磁盤(如/home/docker),通過修改daemon.json配置、重啟服務(wù)并驗(yàn)證遷移成功,最終釋放系統(tǒng)盤空間
    2025-09-09
  • 輕量級(jí)對(duì)象存儲(chǔ)服務(wù)minio安裝及瀏覽器使用教程

    輕量級(jí)對(duì)象存儲(chǔ)服務(wù)minio安裝及瀏覽器使用教程

    本次介紹了minio的安裝及瀏覽器中的簡(jiǎn)單使用,對(duì)輕量級(jí)對(duì)象存儲(chǔ)服務(wù)minio安裝及使用教程感興趣的朋友一起看看吧
    2021-10-10

最新評(píng)論

资中县| 昌邑市| 武清区| 武胜县| 大冶市| 武汉市| 景德镇市| 正安县| 嵩明县| 百色市| 甘孜县| 壤塘县| 大余县| 原平市| 正宁县| 开平市| 杭州市| 昌吉市| 迭部县| 乐昌市| 舒兰市| 三江| 历史| 安阳市| 丰台区| 大埔县| 邢台县| 定远县| 马龙县| 昌黎县| 长兴县| 安新县| 嘉祥县| 静安区| 佛冈县| 泸定县| 图木舒克市| 大连市| 普宁市| 潢川县| 达尔|