您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 Jenkins pipeline script(Jenkins-pipeline中SSH方式登錄遠程機器)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-15 06:37:53【】0人已围观
简介在容器中運行Jenkinspipeline任務持續集成中的pipeline技術和docker都是當前正在發展的主流方向,當然把它們結合起來在CI/CD過程中發揮出更強大的威力也是大家共同的目標。本文將
在容器中運行 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 {
stage ('Pipeline 買粉絲nfiguration') {
agent none
steps {
script {
stage ('Pull & PushImage') {
def remote = [:]
remote.name = 'test'
remote.host ='192.168.248.190'
remote.user = 'root'
remote.password ='password'
remote.allowAnyHosts= true
writeFile file:'jemeter.sh', text: 'cd /ibm \n ls'
sshScript remote: remote,script: "jemeter.sh"
很赞哦!(5425)
相关文章
- 03 國際貿易合同模板英文(如何簽訂外貿合同)
- 03 國際貿易實務計算題題庫(急求國際貿易題目答案)
- 03 國際貿易商務談判英文對話(商務談判案例分析,跪求答案,要詳細點的回答。。。。)
- 03 國際貿易實務第五版電子版(2019年河北專接本考試專業課參考教材目錄)
- 03 國際貿易實務案例分析題及答案(國際貿易實務案例分析題)
- 03 國際貿易實務期末題庫(遼寧大學有哪些教授的課是必須要去蹭的?)
- 01 上海外國語大學招生分數線2022(上海外國語大學錄取分數線2022)
- 03 國際貿易四大模型(國際貿易的四大定理是什么?)
- 01 上海外國語大學是全英文教學嗎(外國語大學只教外國語嗎?)
- 01 上海外國語大學德語專業在哪個校區(同濟大學、上海外國語大學、華東師范大學 的 德語系)