91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

發布時間:2020-07-26 05:16:09 來源:網絡 閱讀:776 作者:ygqygq2 欄目:系統運維

[TOC]

1. Jenkins 2.x簡介

1.1 pipeline是什么

從某種抽象層次上講,部署流水線(Deployment pipeline)是指從軟件版本控制庫到用戶手中這一過程的自動化表現形式。——《持續交付——發布可靠軟件的系統方法》(下稱《持續交付》)
按《持續交付》中的定義,Jenkins本來就支持pipeline(通常會把部署流水線簡稱為pipeline,本書會交替使用這兩個術語),只是一開始不叫pipeline,而叫任務。
Jenkins 1.x只能通過界面手動操作來“描述”部署流水線。Jenkins 2.x終于支持pipeline as code了,可以通過“代碼”來描述部署流水線。
使用“代碼”而不是UI的意義在于:

  • 更好地版本化:將pipeline提交到軟件版本庫中進行版本控制。
  • 更好地協作:pipeline的每次修改對所有人都是可見的。除此之外,還可以對pipeline進行代碼審查。
  • 更好的重用性:手動操作沒法重用,但是代碼可以重用。
    本書全面擁抱pipeline as code,放棄依賴手動操作的自由風格的項目(FreeStyle project)。

1.2 Jenkinsfile又是什么

Jenkinsfile就是一個文本文件,也就是部署流水線概念在Jenkins中的表現形式。像Dockerfile之于Docker。所有部署流水線的邏輯都寫在Jenkinsfile中。

1.3 pipeline語法的選擇

Jenkins pipeline有2種語法:腳本式(Scripted)語法和聲明式(Declar-ative)語法。
腳本式語法使用Groovy語言,其語法靈活、可擴展,但是也意味著更復雜。再者,Groovy語言的學習成本對于(不使用Groovy的)開發團隊來說通常是不必要的。所以才有了聲明式語法,一種提供更簡單、更結構化(more opinionated)的語法。

  1. pipeline插件從2.5版本開始,才同時支持兩種格式的語法;
  2. 推薦主要使用聲明式語法,腳本式語法作為輔助;

1.4 pipeline版本控制化

為了便于維護和協作,使用版本倉庫對pipeline進行版本控制是生產使用過程中的最優選擇。
本人實踐過程中也是推薦書中提到的使用Git作為版本控制倉庫,使用Jenkins ssh私鑰作為憑證。

《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

2. 利用github倉庫pipeline進行構建

以下為本實驗地址:
https://github.com/ygqygq2/jenkins2_learning_install_tools

目的
使用jenkins拉取git倉庫內pipeline構建maven項目,達到了解pipeline基本用法。

環境

  • github倉庫
  • jenkins(已整合kubernetes)

實踐

  1. 進入Manage Jenkins→Global Tool Configuration->Maven頁添加mvn-3.5.4

《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

  1. 進入Manage Jenkins→Global Tool Configuration→JDK頁添加jdk-8u172

《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

注意這里需要oracle帳戶驗證。

  1. 添加pipeline項目

《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

  1. 構建
    《Jenkins 2.x實踐指南》讀書筆記-Jenkins 2.x簡介和pipeline示例

因為jenkins-slave是整合kubernetes的,因此每次構建都會安裝tools,如上圖可以看出,maven安裝包需要從官方下載,這對效率影響非常大。
若想優化可以考慮jenkins-slave鏡像中直接整合maven,而不是使用jenkins tools;還可以使用docker-in-docker配合maven鏡像。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五家渠市| 景东| 志丹县| 息烽县| 油尖旺区| 阿拉善左旗| 特克斯县| 霍林郭勒市| 道孚县| 巩留县| 密云县| 布尔津县| 紫云| 晋宁县| 无为县| 英吉沙县| 桑植县| 阿鲁科尔沁旗| 前郭尔| 漯河市| 呼图壁县| 绍兴市| 玛沁县| 榆树市| 灌阳县| 大埔区| 化德县| 西峡县| 炎陵县| 九龙县| 乌鲁木齐市| 如皋市| 天长市| 天台县| 永吉县| 西乌珠穆沁旗| 西林县| 临泉县| 南昌市| 黄骅市| 台北县|