<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Jenkins參數(shù)化構(gòu)建與觸發(fā)

          共 742字,需瀏覽 2分鐘

           ·

          2020-09-03 05:03

          前言

          我們在使用Jenkins進(jìn)行項目構(gòu)建時,有時會出現(xiàn)兩個項目之間關(guān)聯(lián)的情況,比如項目1構(gòu)建結(jié)束后想要直接執(zhí)行項目2,或者項目1中的某些參數(shù)需要傳遞給項目2來使用,此時可以使用Jenkins的參數(shù)化構(gòu)建方法來完成該過程。

          No.1

          Jenkins參數(shù)化構(gòu)建

          1. 勾選參數(shù)化構(gòu)建過程

          2. 選擇你想要添加的參數(shù)類型

          3. 參數(shù)定義,這里以選項參數(shù)類型為例

          4. 參數(shù)的使用,例如將構(gòu)造時所選的參數(shù)打印10次:

            for((index=0;index<10;index++));
            do
            echo ${Param}
            done
          5. 參數(shù)化構(gòu)建,回到首頁,點擊 Build with Parameters,在彈出的選項框中勾選你想要使用的參數(shù)


          例如我們選擇了option2,然后點擊立即構(gòu)建,可以在該構(gòu)建的項目下,查看控制臺輸出:

          時可以看到控制臺log中打印了10次option2,說明參數(shù)化構(gòu)建成功。

          No.2

          Jenkins任務(wù)觸發(fā)

          在進(jìn)行多任務(wù)的持續(xù)集成項目構(gòu)建時,經(jīng)常會遇到需要執(zhí)行完任務(wù)1,然后再執(zhí)行任務(wù)2,如果任務(wù)2的執(zhí)行不需要用到任務(wù)1中的參數(shù),那么可以在任務(wù)2中的觸發(fā)器中添加任務(wù)1的名字。還是以write為任務(wù)1,以test_write為任務(wù)2舉例,在任務(wù)2的構(gòu)建觸發(fā)器選項中勾選其他工程構(gòu)建后觸發(fā),然后在關(guān)注的項目中填寫任務(wù)1的名字write,如下圖所示:

          然后在任務(wù)2的執(zhí)行shell腳本中寫入打印3次‘test’的指令,保存。最后參數(shù)化構(gòu)建任務(wù)1,還是打印10次選項,這次勾選option3,可以看到該界面中,出現(xiàn)了下級項目為test_write的鏈接:

          構(gòu)建任務(wù)1,參數(shù)選項為option3,則任務(wù)1的輸出為:

          然后點進(jìn)test_write中,發(fā)現(xiàn)剛剛完成一個構(gòu)建項目:

          點擊可以查看這個項目的控制臺輸出:

          任務(wù)2正常打印了3遍test,說明任務(wù)1成功觸發(fā)了任務(wù)2并且正常構(gòu)建了。無參數(shù)觸發(fā)的方法不止這一種,還可以通過在任務(wù)1中添加構(gòu)建后操作-構(gòu)建其他工程-填寫要構(gòu)建的項目來完成,如下圖所示,原理與上述類似,不再贅述。

          No.3

          Jenkins參數(shù)化觸發(fā)

          當(dāng)任務(wù)1中有構(gòu)建后需要傳遞給任務(wù)2的參數(shù)時,要想實現(xiàn)帶參數(shù)構(gòu)建,需要借助一個Jenkins插件:Parameterized Trigger,讀者可以自行安裝一下,安裝成功后,在項目的構(gòu)建后操作選項中可以看到多了一個Trigger parameterized build on other projects選項

          還是以write任務(wù)為任務(wù)1,test_write任務(wù)為任務(wù)2為例進(jìn)行講解。

          1.在任務(wù)1中將執(zhí)行中的參數(shù)保存到properties文件中

          因為終端shell執(zhí)行完畢后變量都會回收,所以不能夠?qū)⒆兞恐苯觽鬟f給任務(wù)2,需要將其寫入到文件中然后以文件的形式傳遞,在任務(wù)1的執(zhí)行shell代碼中加入如下代碼:

          echo "PARAM_NAME=$Param" > profile.txt

          PARAM_NAME表示的就是將要傳遞給任務(wù)2的參數(shù),如圖所示:

          2.在任務(wù)1中增加構(gòu)建后操作

          在任務(wù)1中的增加構(gòu)建后操作中,選擇Trigger parameterized build on other projects,然后在項目名字中填寫test_write,在Add Parameters選項中選擇Parameters from?properties file

          在Use properties from file中添加profile.txt的路徑,注意此處一定要填你在服務(wù)器上保存的profile.txt的絕對路徑,否則會提示找不到(重要!?。。?。

          然后點擊保存。

          3.在任務(wù)2中添加構(gòu)建參數(shù)

          將在任務(wù)1的properties文件中定義的參數(shù)PARAM_NAME 傳遞給任務(wù)2,那么PARAM_NAME就是任務(wù)2的構(gòu)建參數(shù),定義其為字符類型,并在執(zhí)行shell中打印三次這個參數(shù)。

          任務(wù)2執(zhí)行shell代碼:

          for((index=0;index<3;index++));doecho ${PARAM_NAME}done

          然后點擊保存。

          4.測試是否構(gòu)建成功

          至此完成了任務(wù)1到任務(wù)2的參數(shù)化觸發(fā)過程,此時打開任務(wù)1,參數(shù)化構(gòu)建任務(wù)1,選擇option2測試:

          我們期望任務(wù)1打印10次option2之后將該值通過保存在profile.txt中的PARAM_NAME來傳遞給任務(wù)2,并且觸發(fā)任務(wù)2進(jìn)行構(gòu)建,最終在任務(wù)2中打印3次:

          如圖所示,此時說明任務(wù)2已經(jīng)由任務(wù)1帶參數(shù)觸發(fā)成功了。

          結(jié)語

          2020/03/17

          至此我們已經(jīng)介紹了Jenkins參數(shù)化構(gòu)建與觸發(fā)的三種常用場景,使用Jenkins自帶的該工具可以在構(gòu)建多項目時節(jié)省很多時間,提升工作效率。




          文章合集

          Selenium | Appium? | Jenkins? |? Jmeter?

          軟件測試方法匯總?|?Postman接口參數(shù)化?| 測試用例設(shè)計

          視頻教程

          Selenium?| Appium |?Jenkins |?Jmeter

          AWS與Docker

          如何使用AWS EC2+Docker+JMeter構(gòu)建分布式負(fù)載測試基礎(chǔ)架構(gòu)
          Docker容器數(shù)據(jù)持久化和容器網(wǎng)橋連接
          Docker刪除image和container
          Docker與VM虛擬機(jī)的區(qū)別以及Docker的特點



          END



          覺得不錯,可以“點贊”和“在看”,或者轉(zhuǎn)發(fā)留言


          精彩的內(nèi)容要和朋友分享

          瀏覽 131
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品久久久久久爽爽爽麻豆色哟哟 | 国产在线激情 | 五月天激情乱伦小说 | 粉嫩小泬BBBB欣赏 | 欧美黄色一级片免费看 |