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
訪問 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 命令一樣。
點擊應用,保存
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的打包命令
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构建项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python-sklearn模块-神经网
- 下一篇: 如何推销自己