日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jenkins构建项目

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jenkins构建项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Jenkins構建項目

    • 一、Jenkins構建的項目類型介紹
    • 二、自由風格項目構建
      • 1.拉取代碼
        • 1.1創建項目
        • 1.2配置源碼管理,從gitlab拉取代碼
      • 2.編譯打包
      • 3.部署
        • 3.1安裝 Deploy to container插件
        • 3.2添加Tomcat用戶憑證
        • 3.3添加構建后操作
          • 3.3.1設置web_demo_freestyle項目
          • 3.3.2選擇Deploy war/ear to a container
        • 3.4點擊"Build Now",開始構建過程
          • 3.4.1正在構建
          • 3.4.2構建成功
          • 3.4.3訪問項目
        • 3.5演示改動代碼后的持續集成
          • 3.5.1修改代碼部署
          • 3.5.2Push到倉庫
          • 3.5.3在Jenkins點擊構建
          • 3.5.4訪問項目
    • 三、Maven項目構建
      • 1.安裝Maven Integration插件
      • 2.構建Maven項目
        • 2.1創建Maven項目
        • 2.1配置項目
        • 2.3構建項目
        • 2.4構建完成
    • 四、Pipeline流水線項目構建
      • 1.Pipeline簡介
        • 1.2概念
        • 1.3使用Pipeline有以下好處
        • 1.4如何創建 Jenkins Pipeline呢?
      • 2.安裝Pipeline插件
        • 2.1安裝插件后,創建項目的時候多了“流水線”類型
      • 3.Pipeline語法快速入門
        • 3.1Declarative聲明式-Pipeline
          • 3.1.1創建項目
          • 3.1.2流水線->選擇HelloWorld模板
          • 3.1.3編寫一個簡單聲明式Pipeline
          • 3.1.3.1點擊保存
          • 3.1.4構建
        • 3.2Scripted Pipeline腳本式-Pipeline
          • 3.2.1創建項目
          • 3.2.2選擇Scripted Pipeline
          • 3.2.3編寫一個腳本式Pipeline
          • 3.2.4構建
      • 4.使用聲明式部署項目
        • 4.1拉取代碼
          • 4.1.1使用片段生成器生成腳本
          • 4.1.2使用的ssh免密憑證
          • 4.1.3點擊生成流水線腳本
          • 4.1.4把生成的腳本放到第一個地方
          • 4.1.5 拉取成功
        • 4.2編譯打包
          • 4.2.1點擊流水線語法
          • 4.2.2使用片段生成器生成腳本
          • 4.2.3把生成的腳本放到第二個地方
          • 4.2.4編譯完成
        • 4.3部署
          • 4.3.1代碼生成器
          • 4.3.2生成腳本
          • 4.3.3把生成的腳本放到第三個地方
          • 4.3.4構建項目-部署!
          • 4.3.5部署成功
        • 5.Pipeline Script from SCM控制腳本
          • 5.1使用Jenkinsfile文件
          • 5.2切換流水線為Pipeline script from SCM
          • 5.3選擇git
          • 5.4填寫信息
          • 5.5構建測試

一、Jenkins構建的項目類型介紹

Jenkins中自動構建項目的類型有很多,常用的有以下三種:

1. 自由風格軟件項目(FreeStyle Project)
2. Maven項目(Maven Project)
3. 流水線項目(Pipeline Project)

每種類型的構建其實都可以完成一樣的構建過程與結果,只是在操作方式、靈活度等方面有所區別,在實際開發中可以根據自己的需求和習慣來選擇。
(PS:個人推薦使用流水線類型,因為靈活度非常高)

二、自由風格項目構建

下面演示創建一個自由風格項目來完成項目的集成過程:

拉取代碼->編譯->打包->部署

1.拉取代碼

1.1創建項目

1.2配置源碼管理,從gitlab拉取代碼

2.編譯打包

構建->添加構建步驟->Executor Shell

echo "開始編譯和打包" mvn clean package echo "編譯和打包結束"


3.部署

把項目部署到遠程的Tomcat里面

3.1安裝 Deploy to container插件

Jenkins本身無法實現遠程部署到Tomcat的功能,需要安裝Deploy to container插件實現

安裝完成

3.2添加Tomcat用戶憑證

輸入tomcat的賬號和密碼

添加完成

3.3添加構建后操作

3.3.1設置web_demo_freestyle項目

3.3.2選擇Deploy war/ear to a container


輸入target/*.war

3.4點擊"Build Now",開始構建過程

3.4.1正在構建

3.4.2構建成功

3.4.3訪問項目

這里我們看到項目已經在tomcat中運行了,我們點擊這個項目


或者在 webapps中找到web_demo-1.0-SNAPSHOT

cd /data/software/apache-tomcat-8.5.69/webapps


訪問 http://192.168.0.110:8080/web_demo-1.0-SNAPSHOT/,成功!

3.5演示改動代碼后的持續集成

3.5.1修改代碼部署

3.5.2Push到倉庫

3.5.3在Jenkins點擊構建


可以看到已經部署成功

3.5.4訪問項目

部署成功!

三、Maven項目構建

1.安裝Maven Integration插件


安裝完成

2.構建Maven項目

2.1創建Maven項目

創建web_demo_maven

2.1配置項目


拉取代碼和遠程部署的過程和自由風格項目一樣,只是"構建"部分不同
如果有子項目的目錄,則填入:子項目名稱/pom.xml

2.3構建項目

2.4構建完成


成功訪問

四、Pipeline流水線項目構建

1.Pipeline簡介

1.2概念

Pipeline,簡單來說,就是一套運行在 Jenkins 上的工作流框架,將原來獨立運行于單個或者多個節點
的任務連接起來,實現單個任務難以完成的復雜流程編排和可視化的工作。

1.3使用Pipeline有以下好處

來自翻譯自官方文檔
代碼: Pipeline以代碼的形式實現,通常被檢入源代碼控制,使團隊能夠編輯,審查和迭代其傳送流程。
持久: 無論是計劃內的還是計劃外的服務器重啟,Pipeline都是可恢復的。
可停止: Pipeline可接收交互式輸入,以確定是否繼續執行Pipeline。
多功能: Pipeline支持現實世界中復雜的持續交付要求。它支持fork/join、循環執行,并行執行任務的功能。
可擴展: Pipeline插件支持其DSL的自定義擴展 ,以及與其他插件集成的多個選項。

1.4如何創建 Jenkins Pipeline呢?

  • Pipeline 腳本是由 Groovy 語言實現的,但是我們沒必要單獨去學習 Groovy
  • Pipeline支持兩種語法:Declarative(聲明式)和 Scripted Pipeline(腳本式)語法
  • Pipeline也有兩種創建方法:可以直接在 Jenkins 的 Web UI 界面中輸入腳本;也可以通過創建一 個 Jenkinsfile 腳本文件放入項目源碼庫中(一般我們都推薦在 Jenkins 中直接從源代碼控制(SCM) 中直接載入 Jenkinsfile Pipeline 這種方法)。

2.安裝Pipeline插件

:部署時不顯示視圖則安裝Pipeline: Stage View插件
Manage Jenkins->Manage Plugins->可選插件
我這邊已經安裝了,就不演示安裝步驟了

2.1安裝插件后,創建項目的時候多了“流水線”類型

3.Pipeline語法快速入門

3.1Declarative聲明式-Pipeline

3.1.1創建項目

3.1.2流水線->選擇HelloWorld模板

pipeline {agent anystages {stage('Hello') {steps {echo 'Hello World'}}} }

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

3.1.3編寫一個簡單聲明式Pipeline
pipeline {agent anystages {stage('拉取代碼') {steps {echo '拉取代碼'}}stage('編譯構建') {steps {echo '編譯構建'}}stage('項目部署') {steps {echo '項目部署'}}} }
3.1.3.1點擊保存

3.1.4構建


點擊構建,可以看到整個構建過程

3.2Scripted Pipeline腳本式-Pipeline

3.2.1創建項目

test03_pipeline02

3.2.2選擇Scripted Pipeline

3.2.3編寫一個腳本式Pipeline
  • Node: 節點,一個 Node 就是一個 Jenkins 節點,Master 或者 Agent,是執行 Step 的具體運行環境,后續講到Jenkins的Master-Slave架構的時候用到。
  • Stage: 階段,一個 Pipeline 可以劃分為若干個 Stage,每個 Stage 代表一組操作,比如:Build、Test、Deploy,Stage 是一個邏輯分組的概念。
  • Step: 步驟,Step 是最基本的操作單元,可以是打印一句話,也可以是構建一個 Docker 鏡像,由各類 Jenkins 插件提供,比如命令:sh ‘make’,就相當于我們平時 shell 終端中執行 make 命令一樣。
node {def mvnHomestage('拉取代碼') {echo '拉取代碼'}stage('編譯構建') {echo '編譯構建'}stage('項目部署') {echo '項目部署'} }

點擊應用,保存

3.2.4構建


點擊構建,可以看到整個構建過程

4.使用聲明式部署項目

還是使用我們已經創建的test03_pipeline01 作為演示

點擊流水線語法

4.1拉取代碼

4.1.1使用片段生成器生成腳本

4.1.2使用的ssh免密憑證

4.1.3點擊生成流水線腳本

4.1.4把生成的腳本放到第一個地方


點擊保存,我們可以構建試一下是否可用

配置拉取代碼成功!

4.1.5 拉取成功

4.2編譯打包

進入項目配置,我們還是使用maven的腳本進行編譯,

4.2.1點擊流水線語法

4.2.2使用片段生成器生成腳本

選擇sh: Shell Script

寫入maven的打包命令

mvn clean package

4.2.3把生成的腳本放到第二個地方


點擊保存,我們可以構建試一下是否可用

這里看到正在打包

4.2.4編譯完成

4.3部署

4.3.1代碼生成器

4.3.2生成腳本

4.3.3把生成的腳本放到第三個地方

保存

4.3.4構建項目-部署!

4.3.5部署成功


5.Pipeline Script from SCM控制腳本

剛才我們都是直接在Jenkins的UI界面編寫Pipeline代碼,這樣不方便腳本維護,建議把Pipeline腳本放在項目中(一起進行版本控制)
5.1使用Jenkinsfile文件

在項目根目錄建立Jenkinsfile文件,把內容復制到該文件中

把文件上傳到服務器

5.2切換流水線為Pipeline script from SCM

5.3選擇git

這里我們可以選擇多個,需要用svn,安裝svn插件即可

5.4填寫信息


因為是存放在根目錄的,所以 這個地方填寫文件名即可

5.5構建測試

總結

以上是生活随笔為你收集整理的Jenkins构建项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。