插件管理”,選擇“可選插件”,在輸入框中輸入“Publish over SSH”進(jìn)行搜索,如果搜索不到可以在“已安裝”里確認(rèn)是否已經(jīng)安裝過(guò)。" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

汽車(chē)玩家 ? 來(lái)源:今日頭條 ? 作者:Java高級(jí)架構(gòu)師 ? 2020-05-05 20:13 ? 次閱讀

演示:a、47.22.33.102啟動(dòng)ssh,配置47.22.33.159公私,支持47.22.33.159通過(guò)ssh訪問(wèn)47.22.33.102b、通過(guò)jenkins遠(yuǎn)程執(zhí)行shell腳本,打印hello字符串。

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

1、Jenkins插件Publish over SSH安裝

打開(kāi)Jenkins的“系統(tǒng)管理>插件管理”,選擇“可選插件”,在輸入框中輸入“Publish over SSH”進(jìn)行搜索,如果搜索不到可以在“已安裝”里確認(rèn)是否已經(jīng)安裝過(guò)。在搜索結(jié)果中選中“Publish over SSH”,點(diǎn)擊頁(yè)面的“直接安裝”按鈕,系統(tǒng)會(huì)自動(dòng)安裝,此插件安裝后不需要重啟Jenkins。如果插件安裝成功在“系統(tǒng)管理>系統(tǒng)設(shè)置”會(huì)出現(xiàn)相關(guān)配置項(xiàng)。

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

2、插件配置

插件安裝成功后使用前需要在“系統(tǒng)管理>系統(tǒng)設(shè)置”中進(jìn)行配置,處如圖:

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

Passphrase:SSH的密碼使用用戶名/密碼登錄時(shí)為用戶名的密碼,使用私鑰登錄時(shí)為私鑰的密碼。

Path to key:SSH私鑰的文件路徑私鑰文件的路徑,可以是絕對(duì)路徑,也可以是相對(duì)$JENKINS_HOME的相對(duì)路徑

Key:私鑰私鑰導(dǎo)出后的文本內(nèi)容

如果“Key”和“Path to key”都設(shè)置,則“Key”的優(yōu)先級(jí)較高,私鑰的密碼是“Passphrase”中設(shè)置的內(nèi)容。

注意:私鑰指的是47.22.33.159的私鑰,安裝Jenkins的服務(wù)器。

Disable exec:禁止在目標(biāo)機(jī)上執(zhí)行命令勾選后將會(huì)忽略在Job配置中“Exec command”選項(xiàng)中設(shè)置的命令。Jenkins的說(shuō)明文檔中的“The Disable exec in the advanced settings for individual configurations will be ignored.”沒(méi)有完全理解,從實(shí)際效果來(lái)看,只要“Disable exec”被勾選后,不管SSH Server中是否勾選“Disable exec”,Job中設(shè)置的命令都將補(bǔ)忽略。

Test Configuration:測(cè)試配置是否成功,界面出現(xiàn)"Success"表示配置成功

SSH Server 配置

NameSSH節(jié)點(diǎn)配置的名稱(chēng),在Job中使用Publish over SSH插件時(shí),此名稱(chēng)將出現(xiàn)在“SSH Server”中“Name”的下拉列表中,如下圖:

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

Hostname

通過(guò)SSH連接到的機(jī)器的主機(jī)名或IP

UsernameSSH

服務(wù)使用的用戶名,使用key進(jìn)行連接時(shí)為key指定的用戶名

Remote Derictory

運(yùn)程機(jī)器上真實(shí)存在的目錄,并且“Username”指定的用戶要有訪問(wèn)此目錄的權(quán)限,插件將把文件傳送到此目錄下。

3、在Jenkins中配置構(gòu)建

點(diǎn)擊”構(gòu)建“選項(xiàng),在“增加構(gòu)建步驟”里選擇“Send files or execute commands over SSH”,即可以Job中使用Publish over SSH插件,配置如下圖:

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

參數(shù)說(shuō)明

Name

“系統(tǒng)管理>系統(tǒng)設(shè)置”設(shè)置的SSH Sverver的名字列表。

Source files允許為空,復(fù)制到運(yùn)程機(jī)上的文件,相對(duì)workspace的路徑,也支持表達(dá)式,如上圖中的“**/*.war”。

Remove prefix

允許為空,文件復(fù)制時(shí)要過(guò)濾的目錄,如上圖中的target目錄。

Remote directory

允許為空,文件得到到遠(yuǎn)程機(jī)上的目錄,此目錄是相對(duì)于“SSH Server”中的“Remote directory”的,如果不存在將會(huì)自動(dòng)創(chuàng)建。

Exec command

在這里可以填寫(xiě)在運(yùn)程機(jī)器上執(zhí)行的腳本,如:觸發(fā)aa.sh腳本打印hello。

4、查詢效果點(diǎn)擊"立即構(gòu)建",查看日志如圖:

基于Jenkins遠(yuǎn)程執(zhí)行shell命令

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    575

    瀏覽量

    20471
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    363

    瀏覽量

    23262
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱(chēng)為L(zhǎng)inux的命令解釋器。
    的頭像 發(fā)表于 11-05 15:40 ?107次閱讀

    飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫(xiě)之test命令

    test命令用于測(cè)試某個(gè)條件是否成立,它可以進(jìn)行數(shù)值、字符和文件三個(gè)方面的測(cè)試。在shell文件中輸入命令,通過(guò)特定的參數(shù)可以對(duì)數(shù)值、字符串進(jìn)行比較,如下參數(shù)及示例。1、數(shù)值比較參數(shù)舉例,在
    發(fā)表于 09-05 09:09

    shell腳本執(zhí)行的三種方式及區(qū)別

    在Linux系統(tǒng)中,Shell腳本是一種非常實(shí)用的工具,用于自動(dòng)化執(zhí)行一系列命令。Shell腳本可以大大提高工作效率,簡(jiǎn)化復(fù)雜的任務(wù)。在這篇文章中,我們將介紹
    的頭像 發(fā)表于 08-30 15:24 ?659次閱讀

    執(zhí)行shell腳本的方式包括什么

    執(zhí)行Shell腳本的方式有很多種,以下是一些常見(jiàn)的方法: 直接運(yùn)行腳本文件 在命令行中,可以直接使用腳本文件的路徑來(lái)運(yùn)行腳本。例如: ./script. sh 這種方式需要確保腳本文件具有可執(zhí)
    的頭像 發(fā)表于 08-30 15:17 ?256次閱讀

    shell具有的功能和特點(diǎn)

    Shell 是一個(gè)命令行解釋器,用于與操作系統(tǒng)進(jìn)行交互。它提供了一種方便的方式來(lái)執(zhí)行命令、管理文件和目錄、運(yùn)行程序等。以下是 Shell 的功能和特點(diǎn)的介紹:
    的頭像 發(fā)表于 08-30 14:48 ?324次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫(xiě)之本地腳本的編寫(xiě)和執(zhí)行

    !\"為腳本中編寫(xiě)的命令代碼。2、執(zhí)行執(zhí)行腳本時(shí),腳本必須要有執(zhí)行權(quán)限,首先給腳本賦予可執(zhí)行權(quán)限:elf@ubuntu:~/work/e
    發(fā)表于 08-29 10:51

    shell腳本編寫(xiě)之本地腳本的編寫(xiě)和執(zhí)行

    用來(lái)指定使用的shell應(yīng)用;echo "my first shell !"為腳本中編寫(xiě)的命令代碼。2、執(zhí)行執(zhí)行腳本時(shí)
    發(fā)表于 08-28 09:36

    常見(jiàn)的shell命令之其他命令

    1、clear清屏命令命令:clear功能:清除屏幕參數(shù):無(wú) 示例:清屏前。執(zhí)行清屏命令后,終端界面顯示信息被清除。2、man幫助命令
    發(fā)表于 08-21 09:49

    嵌入式學(xué)習(xí)-shell介紹

    一、Shell是什么?我們?cè)趧傞_(kāi)始接觸Linux的時(shí)候,經(jīng)常會(huì)聽(tīng)到工程師提到Shell這個(gè)詞,剛開(kāi)始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并
    發(fā)表于 08-16 09:13

    shell基本介紹及常用命令shell介紹

    一、Shell是什么?我們?cè)趧傞_(kāi)始接觸Linux的時(shí)候,經(jīng)常會(huì)聽(tīng)到工程師提到Shell這個(gè)詞,剛開(kāi)始不知道這是個(gè)干什么的,簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)或應(yīng)用程序,并
    發(fā)表于 08-15 09:28

    Git命令之本地分支與遠(yuǎn)程分支關(guān)聯(lián)和解除

    在實(shí)際的工作生活中,往往需要將本地的分支和遠(yuǎn)程分支關(guān)聯(lián),這樣我們就可以使用git pull命令來(lái)更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠(yuǎn)程倉(cāng)庫(kù)。但是如果此
    的頭像 發(fā)表于 12-15 09:27 ?2947次閱讀
    Git<b class='flag-5'>命令</b>之本地分支與<b class='flag-5'>遠(yuǎn)程</b>分支關(guān)聯(lián)和解除

    bootm命令執(zhí)行流程

    Bootm命令用來(lái)從memory啟動(dòng)內(nèi)核,bootm命令執(zhí)行流程如下圖所示。 在串口終端輸入bootm命令后,執(zhí)行do_bootm函數(shù)來(lái)完
    的頭像 發(fā)表于 12-04 17:33 ?1086次閱讀
    bootm<b class='flag-5'>命令</b>的<b class='flag-5'>執(zhí)行</b>流程

    uboot命令執(zhí)行過(guò)程是什么

    U-boot是通過(guò)執(zhí)行u-boot提供的命令來(lái)加載Linux內(nèi)核的,其中 命令bootm的功能 即為從memory啟動(dòng)Linux內(nèi)核映像文件。 在講解bootm加載內(nèi)核之前,先來(lái)看看u-boot中
    的頭像 發(fā)表于 12-04 17:31 ?737次閱讀

    python shell怎么用

    Python Shell是一種交互式解釋器,可以通過(guò)命令行直接運(yùn)行Python代碼。在Shell中,可以輸入一行代碼并立即得到結(jié)果,非常適合于測(cè)試、嘗試新代碼或進(jìn)行簡(jiǎn)單的任務(wù)。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-29 14:36 ?1073次閱讀

    Shell基本介紹及目錄常用命令

    01、Shell是什么?我們?cè)趧傞_(kāi)始接觸Linux的時(shí)候,經(jīng)常會(huì)聽(tīng)到工程師提到Shell這個(gè)詞,那么Shell到底是什么呢?簡(jiǎn)單的說(shuō),它是一個(gè)應(yīng)用,接收用戶命令,調(diào)用相應(yīng)的內(nèi)核接口函數(shù)
    的頭像 發(fā)表于 11-15 13:06 ?463次閱讀
    <b class='flag-5'>Shell</b>基本介紹及目錄常用<b class='flag-5'>命令</b>