您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 Jenkins pipeline 模板(Jenkins-pipeline中SSH方式登錄遠程機器)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-21 08:42:53【】9人已围观
简介如何用Jenkins/Hudson創建真正的pipeline如何用Jenkins/Hudson創建真正的pipeline這幾天嘗試用Jenkins/Hudson創建pipeline,發現網上的
如何用Jenkins/Hudson創建真正的pipeline
如何用Jenkins/Hudson創建真正的pipeline
這幾天嘗試用Jenkins/Hudson創建pipeline,發現網上的信息很少,所以寫一篇跟大家分享。
在開始之前,得告訴你被我的標題給忽悠了,不是Jenkins/Hudson,只是Jenkins!如果你還在用Hudson,那么我建議你立即切換到Jenkins。理由就不說了,看看這個投票就行。(此中,我吃盡了苦頭)
接下來,就讓我們一步一步用Jenkins搭建真正的pipeline吧。
第一步
第一步,我們先創建一個最簡單的pipeline。所謂pipeline,顧名思義,就是一個流水線,由多個步驟(steps)組成。每走完一步,就來到下一步。用Build Pipeline Plugin就可以很方便地實現。
實現的效果如下圖:
上例中,UnitTest是我們的初始任務。UnitTest結束之后,自動觸發AC Test。如果通過了AC Test,團隊可以有選擇地部署到任意測試環境。
在配置這個插件時,最重要的就是選擇Initial Job。
然后,在每一個step(job)中選擇downstream step。可以是自動觸發(Build Other Projects),也可以選擇手動觸發(Manually Execute Downstream Project)。
第二步
第一步中我們實現了一個流水線,但這個只是看上去的流水線而已。在工廠的流水線中,歷經流水線上游到下游的,應該是同一個產品。但上例中顯然不是,Unit Test和Acceptance Test所運行的可能是不同版本的代碼。
要讓幾個step的代碼運行在同一個版本,可以使用一個叫做Parameterized Trigger Plugin。如下圖:
選擇把Subversion revision傳到下面的steps,則接下來的Steps都會checkout同一個版本的代碼。但這個也有限制,就是這些Steps必須有相同的subversion URL配置。
另外,你應該還注意到我們還傳了另一個參數:PL_BUILD_NUMBER。這個參數會另有用途。
除了希望保持相同版本,我們很可能希望重用upstream step生成的artifact。比如,在AC Test step會生成一些artifacts,這些artifacts經過測試之后,希望可以用于Deploy步驟。一方面,這會節省重新構建artifact的時間;另一方面,這些artifact是已經經過測試的,是可用的,而重新構建生成的卻是未經測試的,可用與否未知。(雖然他們應該是一樣的,但誰知道呢。。)我們可以使用ArtifactDepolyerPlugin實現。
jenkins 2 pipeline怎么獲取各個階段的log
建議你這樣試試看:
在每個stage{ } 中, 用 post { } 上傳日志
再整個 pipeline{ } 末尾, 用 post{ } 上傳日志
這樣做的好處:
層次清晰
可以聚合各個 stage 的日志, 如 robotframework log, build log ......
By Xiak
jenkins之pipeline相關概念
pipeline是什么,有什么作用,用groovy語言編寫
創建pipeline操作步驟:
1、安裝jenkins 和安裝插件 pipeline。
2、新建一個pipeline項目,在pipeline中加入腳本,構建執行。
部署流水線:Deployment pipeline,從軟件版本控制庫到用戶手中這一過程的自動化表現形式。
所有的部署流水線都寫在jenkins-file文件中,需要安裝插件pipeline插件后才能使用jenkins-file。
1.pipeline最簡單的結構
pipeline是什么,用于描述整條流水線是如何進行的。流水線的內容包括執行編譯、打包、測試、輸出測試報告等步驟。以下5個部分是pipeline的必需存在的,少一個,jenkins都會報錯。
2.pipeline的步驟
pipeline基本結構決定的是pipeline整體流程。
pipeline plugin的github倉庫: 買粉絲s://github.買粉絲/jenkinsci/pipeline-plugin/blob/master/README.md
jenkins pipeline支持的指令有:
聲明式(Delar-ative)語法&腳本式(Scripted)語法如圖:
在容器中運行 Jenkins pipeline 任務
持續集成中的 pipeline 技術和 docker 都是當前正在發展的主流方向,當然把它們結合起來在 CI/CD 過程中發揮出更強大的威力也是大家共同的目標。本文將介紹如何在 Jenkins pipeline 中集成使用 docker,好在當前的 Jenkins 已經默認通過插件實現了與 docker 的集成,所以這將是一段輕松愉快的旅程。
簡單起見,我們使用一臺安裝了 docker 的 linux 虛機,并通過 ssh 將其啟動為 Jenkins server 的 build agent。主要操作步驟如下:
我們通過下面的腳本一次搞定這些操作(docker 的安裝請參考官方文檔):
在 linux 虛機上執行上面的腳本,然后在 Jenkins 中添加 node(build agent):
其中的 "Remote root directory" 就是剛才創建的 /var/jenkins 目錄。"Launch method" 選擇 "Launch slave agents via SSH"。Host 為 linux 虛機的 IP,Credentials 則為剛才創建的 jenkins 用戶。
先來運行一個簡單的 demo。創建一個 pipeline 類型的 job,并輸入下面的 pipeline script:
運行該任務,執行結果如下:
其中的命令 node --version 就是在容器中執行的。
Jenkins 默認會把任務分配給任何可用的 agent,如果我們要指定任務執行的 agent,可以在 docker 的配置中指定 label,這樣該任務只會被分配到具有某個 label 的 agent 上運行:
我們還可以在 folder 級別指定 label,這樣的設置會應用在 folder 內所有沒有設置 label 的任務上:
除了 label,還可以設置 docker registry URL 及其身份認證的憑據。
我們還可以在不同的 stage 中運行不同的容器,其實就是每個 stage 用自己的容器鏡像創建容器并執行任務,stage 之間沒啥關系:
通過指定 Dockerfile 文件,在 build agent 上直接構建容器鏡像,然后生成容器并執行命令。下面的 demo 中我們通過 Dockerfile 創建一個包含 curl 工具的容器鏡像,然后通過該鏡像啟動容器并執行 HTTP 請求。該 demo 一共包含三個文件:Dockerfile 、entrypoint.sh 和 Jenkinsfile,大家可以直接從這里下載它們。先看一下 Dockerfile 文件的內容:
其中的 entrypoint.sh 內容如下:
Jenkinsfile 的內容如下:
注意,該文件中我們設置了 dir 為 curl 目錄,這是因為此項目的 Dockerfile 文件不是在代碼庫的根目錄下,所以需要指定其相對目錄的路徑。
然后在 Jenkins 中創建 pipeline 類型的 job,并把 pipeline 的 Definition 設置為 "Pipeline script from SCM" 。接下來設置好代碼倉庫的路徑就可以了。運行該任務,從日志上可以看到取完代碼后先通過 Dockerifle 文件構建了容器鏡像:
并在容器中運行了 curl 買粉絲://買粉絲.買粉絲blogs.買粉絲/sparkdev/p/8795141.買粉絲 命令。
上面的例子中我們通過 Dockerfile 生成了容器鏡像,并且完成了相關的測試(通過 curl 請求了測試網頁)。接下來就是把生成的容器鏡像推送到鏡像倉庫中。下面將演示如何在 pipeline 中把構建的鏡像推送的鏡像倉庫。首先在 Folder 的配置界面中添加訪問 dockerhub.買粉絲 憑據如下:
如果是訪問 dockerhub 就不需要填寫 "Docker registry URL"。然后添加下面的 Pipeline script:
注意, 9e70c1eb-814c-4cf2-97e9-5bfc20461231 剛才創建的憑據的 ID,可以從 folder 的 Credentials 界面中獲得。運行這個任務,執行成功后去 dockerhub.買粉絲 上看一下,是不是已經把新構建的鏡像推送上去了:
從本文的幾個簡單 demo 可以看出,jenkins pipeline 和 docker 集成的已經很好了。當然你還可以實現更多更復雜的用例,趕緊動手吧!
參考:
Using Docker with Pipeline
Pipeline Syntax
作者:sparkdev
出處:買粉絲://1t.click/aerf
Jenkins-pipeline中SSH方式登錄遠程機器
pipeline{
agent any
stages {
很赞哦!(42368)
相关文章
- 01 近代中國對外貿易的變化及其原因分析(說明 有關中國近代貿易變遷的信息?)
- 02 遵義的網紅地在哪里(貴州旅行攻略|來貴州最值得去的10個地方)
- 01 邁騰海外輪轂大小多少(邁騰改裝輪轂19寸參數)
- 02 鄭州國際貿易服務中心百度百科(鄭州主要產業是什么)
- 02 遵義醫科大學附屬醫院買粉絲(珠海有沒有線上問診就診醫院珠海有沒有線上問診就診醫院啊)
- 01 近期網紅歌曲打卡(網紅歌曲排行榜前十名分別是什么?)
- 01 運城中心醫院網上掛號預約買粉絲遠程掛號(山西運城中心醫院看牙科住院可你好以報銷嗎?)
- 02 鄭爽ins號叫什么(大家追過最久的明星是誰?)
- 02 邵陽中心醫院買粉絲買粉絲(2022年湖南醫師資格考試工作公告)
- 01 進出口貿易公司納稅標準(貿易公司稅收有哪些)
热门文章
站长推荐
01 近年國際貿易真實案例2021(為什么說學國貿專業后悔了?國際經濟與貿易專業吃香嗎?(2021年參考))
01 邁阿密國際ins粉絲(ins上關注人數k是表示多少?m表示多少?)
02 道緣天下買粉絲怎么關注(大家來推薦一點已完成的網游玄幻武俠小說 老書也行)
02 郵政銀行買粉絲買粉絲能查詢余額嗎(郵政有買粉絲余額提醒嗎)
01 近年來我國追回的海外流失文物(國家文物局:十年來1800余件套海外流失文物回歸祖國,這意味著什么?)
02 鄭州市經濟貿易學校中專電話(鄭州市教育局直屬中專名單)
02 鄭州財經貿易學院是什么學歷(鄭州財經學院是幾本)
01 邁阿密國際足球俱樂部ins粉絲數(足球運動員在球場上的顏值可以有多高?)