激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - jenkins插件Pipeline腳本jenkinsfile操作指南

jenkins插件Pipeline腳本jenkinsfile操作指南

2022-03-01 22:38kl 服務器知識

這篇文章主要為大家介紹了jenkins插件Pipeline腳本jenkinsfile的操作使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

jenkins插件Pipeline腳本jenkinsfile操作指南

前言

jenkins是一款流行的開源持續集成軟件,插件豐富,擴展靈活。2.0后推出pipeline流式構建,支持構建任務腳本化。本文主要旨在使用jenkins 的pipeline功能完成java maven項目的打包,上傳jar到目標服務器。pipeline推出時間不長,實際使用的不是很多,網上基本沒啥參考資料,官方的文檔很詳細,但不成本文所述體系。這篇博文是博主摸索半天后的成果,如有錯落,歡迎指出。

說明:本文環境默認包含組件:jenkins,maven,jdk

一,安裝pipeline支持插件

到配置中心插件管理搜索如下插件,安裝

Pipeline Maven Integration Plugin :執行withMaven方法支持,用于構建maven項目工程,使用方式如下圖,詳細說明見:https://wiki.jenkins.io/display/JENKINS/Pipeline+Maven+Plugin

jenkins插件Pipeline腳本jenkinsfile操作指南

SSH Agent Plugin :sshagent方法支持,用于上傳構建產物到目標服務器,使用詳情見:
https://wiki.jenkins.io/display/JENKINS/SSH+Agent+Plugin,這邊博主實操時有個大坑,后面說詳細說明

二,創建流式Item

如圖

jenkins插件Pipeline腳本jenkinsfile操作指南

三,編寫pipeline腳本

腳本分三個步驟塊,分別是git clone(下載源碼到本地),build(構建工程),deploy(上傳構建產物到目標主機)

腳本如下:

node {
   stage("git clone") { // for display purposes
     checkout([$class: "GitSCM", branches: [[name: "*/${branch}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: "xxxx-xxxx-xxxxx-xxxxxx", url: "http://git.xx.xxx/xxx/xform-boot.git"]]])
   }
   stage("Build") {
           env.JAVA_HOME="${tool "jdk1.8.0_92"}"
           withMaven(
            maven: "M3",
            mavenLocalRepo: ".repository") {
                sh "mvn clean install -U  -P${profile} -Dmaven.test.skip=true"
        }
   }
   stage("deploy") {
    sshagent(credentials: ["deploy_ssh_key"]) {
        sh "ssh [email protected]"
        sh "echo hello"
       sh "scp producer/target/salesApp-1.0-RELEASES.jar  [email protected]:/root/deploy/"
     }
   }
}

如上腳本需要配置兩個認證憑證,分別是git的credentialsId和sshagent的credentials,到配置管理credentials處添加,如圖

jenkins插件Pipeline腳本jenkinsfile操作指南

git的認證比較簡單,使用密碼用戶名驗證,直接選Username with password就好了,這里還有個技巧,后面會講到。

sshagen測試下來只支持私鑰,需要選擇如下配置:

jenkins插件Pipeline腳本jenkinsfile操作指南

如圖,使用了From the Jenkins master ~./ssh,需要你到jenkins所在主機的.ssh目錄,通過命令”ssh-keygen -t rsa“生成公私鑰,生成時會詢問你是否使用密碼 加密,可以直接跳過,如果寫了密碼,那么上圖中Passphrase需要寫上加密密碼,沒寫就留空。然后將id_rsa.pub中的內容拷貝到目標主機的/root/.ssh/authorized_keys文件中。上圖中的ID可以指定,不指定會生成一個唯一字符串如:

jenkins插件Pipeline腳本jenkinsfile操作指南

這個ID對應了pipeline腳本中的驗證ID,到此,我們準備工作都已經做完了。

添加運行參數

細心的你可能發現了腳本中有類似占位符。這些的代碼,如${branch},${profile},其實就是pipeline的占位符,這些參數控制了git從哪個分支拉代碼,maven構建的哪個環境的代碼,這些參數需要在構建任務中明確指定,用以區分是生產環境還是測試環境等,如圖

jenkins插件Pipeline腳本jenkinsfile操作指南

四,嘗試構建任務

到這里我們的準備工作都已完成了,可以開啟構建任務測試了,這時博主走了一個好大的坑,無論認證憑證模塊怎么配置,總是拋如下的異常:Host key verification failed.

jenkins插件Pipeline腳本jenkinsfile操作指南

這個異常非常明顯,pipeline流式構建前兩個步驟已經成功了,代碼拉下來并已經構建成功了。但是通過sshagent上傳到目標服務器時,認證失敗了。這個問題占了我們摸索過程的一大半時間。最后還是感謝唐老大發現了問題。

異常原因:生產公私鑰使用的root用戶生產的,jenkins是使用jenkins用戶啟動的,所有jenkins沒有權限,

其實上面所有的步驟都沒問題。最終在嘗試了無數次的構建失敗后構建圖標終于綠了,構建產物成功上傳到目標主機

一次次的失敗:

jenkins插件Pipeline腳本jenkinsfile操作指南

成功的綠標

jenkins插件Pipeline腳本jenkinsfile操作指南

jenkins插件Pipeline腳本jenkinsfile操作指南

五,pipeline的一點技巧

流式項目Item創建好后,在左邊菜單最下面會有pipeline的語法菜單,點進去,會有如下頁面:

jenkins插件Pipeline腳本jenkinsfile操作指南

1.其中箭頭一所指的,就是前文提到的git添加認證的一個小技巧,這個是一個pipeline腳本生成器,選中git scm后會出來git相關的配置,按照提示添加后,點擊生成,就會生成以及配置組裝好的腳本。特別適合新手

2.箭頭而是步驟指南,這個里面羅列了所有pipeline語法支持的一些DSL函數,如git,checkout,wthMaven等,并且詳細的描述了方法的具體使用細節,詳細 到每個參數的說明,如withMavene:

jenkins插件Pipeline腳本jenkinsfile操作指南

文末結語

pipeline的概念去年就聽說了,現在實際操作了一把,還是非常的震撼,通過在項目中新增jenkinsfile就可以解決構建問題,而且非常靈活,支持寫if等的邏輯判斷腳本來決定構建行為。經歷了無數次失敗后成功的成就感不言而喻,有興趣的都可以試試,徹底改變原先的構建模式。建議剛接觸pipeline的新手,多看看pipeline語法頁面的相關內容,對理解pipeline語法及書寫腳本有很大的幫助。其次就是去相關的插件wiki頁面多看看說明。國內的那些博客很多都是一筆帶過,看不出在生產上面應用的痕跡,不建議去參考

以上就是jenkins插件Pipeline腳本jenkinsfile操作指南的詳細內容,更多關于jenkins插件Pipeline腳本jenkinsfile操作的資料請關注服務器之家其它相關文章!

原文地址:http://www.kailing.pub/article/index/arcid/203.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精华液久久含羞草 | 国产精品久久久久免费视频 | 久久久久久久久久久高潮一区二区 | 国产一级aaa全黄毛片 | xvideos korean | 中国美女一级黄色大片 | 精品久久久一二三区播放播放播放视频 | 亚洲一区成人 | 亚洲av毛片成人精品 | 国产欧美日韩在线不卡第一页 | 成人免费看视频 | 欧美一级黄色录像片 | jizzyouxxxx| 国产精品久久久久久久模特 | 亚洲一区国产一区 | www.99久久久 | 国产日韩在线观看一区 | 精品免费国产一区二区三区 | 成人综合区一区 | 久久老司机精品视频 | 久久久久久久久久久影视 | 欧美精品一区二区三区久久久 | 精品国产乱码久久久久久丨区2区 | 日韩毛片网 | 免费看性xxx高清视频自由 | 午夜精品老牛av一区二区三区 | 亚洲白嫩在线观看 | 91精品国产91 | 羞羞的小视频 | 午夜人体| 免费看污视频在线观看 | 一级尻逼视频 | 亚洲一区二区网址 | 99爱视频在线观看 | 日韩视频在线观看免费视频 | 日本一区二区免费在线观看 | 91午夜视频| 精品久久久久久久久久久久包黑料 | 一级α片免费看刺激高潮视频 | 欧美69free性videos| 国产九九 |