Jenkins操做過程的一點點感悟

Jenkins pipeline使用

Jenkins是一個很好的持續集成工具,因爲項目中用到了pipeline形式的Jenkins項目。其中也遇到了一些問題,故記錄下來。本篇文章在介紹具體解決步驟的基礎上,重點想要介紹一些學習jenkins的網址git

Jenkins pipeline創建

Jenkins項目的創建有不少形式,其中一個就是流水線的模式,我的以爲是構建大型項目,經常使用的方式吧。
image.pnggithub

流水線創建後,有兩種方式實現一種是直接在輸入框中編寫腳本,一種是選擇SCM模式,能夠到項目工程下,尋找指定的Jenkinsfile文件。
兩種形式以下:
腳本模式:
image.png
經過scm編寫Jenkinsfile
image.png
URL位置用來填寫項目Jenkinsfile git路徑。ssh

查找Pipeline語法的高效方法

因爲咱們的項目相對簡單,在此就不過多展現。本節要說的是常常被本人忽略的一個點,pipeline語法,咱們在寫pipeline時,開始都不知道如何寫,上來就經過百度、google來查找解決問題的答案,但有時候答案每每就在咱們眼前。其實,jenkins給咱們提供了很好的幫助,就是pipeline語法編寫功能。
以下圖所示:咱們的項目中會有這樣的一個連接,點開咱們就會發現幾乎你想要的pipeline編寫方法都在這裏了。
image.png
進去以後會發現以下列表:
image.png
咱們首先要解決的是checkout代碼的問題,先checkout在執行編譯打包等功能嘛!
按照步驟配置以後,你就能夠選擇generate pipeline script選項,你要寫在Jenkinsfile中的內容也就有了。工具

  • 謹以此告誡本身,有些說明信息是須要咱們仔細閱讀的,而不是依靠百度、google
  • 學習某些工具也同樣,最簡單和高效的方式就是閱讀官方提供的使用手冊或者文檔,看不懂多是看的不仔細而已。提供jenkinsfile的官方連接:https://jenkins.io/zh/doc/boo...

經過ssh訪問遠端host

編寫Jenkinsfile遇到的另外一個問題就是不知道如何經過ssh訪問遠端,固然嘗試經過查看pipeline語法的ssh選項,可是沒有生成任何有效代碼。
固然仍是要經過官方文檔才靠譜,就是jenkins關於ssh插件的介紹以及ssh插件如何編寫相應的腳本文件。地址以下:
https://github.com/jenkinsci/ssh-steps-plugin#sshput
demo,經過kubernets實現監控查看服務替換狀態。學習

stage('watchstatus') {
            steps{
                script {
                    def remote = [:]
                    remote.name = 'test'
                    remote.host = "${PUBLIC_HOST}"
                    remote.user = "${PUBLIC_HOST_USER}"
                    remote.password = "${PUBLIC_HOST_PWD}"
                    remote.allowAnyHosts = true

                    sleep 60 
                    sshCommand remote: remote, command: "kubectl describe deployment ${SERVICE_NAME}"
                    sshCommand remote: remote, command: "kubectl rollout status deployment  ${SERVICE_NAME}"
                } 
            }
                    
        }

後記

相信有了從源頭學習的思惟在加上提供的兩個Jenkins網址信息,學習jenkins就應該變得不難了吧,與走在學習路上的小夥伴共勉。google

相關文章
相關標籤/搜索