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

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

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

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

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

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

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

1、Jenkins插件Publish over SSH安裝

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

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

2、插件配置

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

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

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

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

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

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

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

Disable exec:禁止在目標機上執(zhí)行命令勾選后將會忽略在Job配置中“Exec command”選項中設置的命令。Jenkins的說明文檔中的“The Disable exec in the advanced settings for individual configurations will be ignored.”沒有完全理解,從實際效果來看,只要“Disable exec”被勾選后,不管SSH Server中是否勾選“Disable exec”,Job中設置的命令都將補忽略。

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

SSH Server 配置

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

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

Hostname

通過SSH連接到的機器的主機名或IP

UsernameSSH

服務使用的用戶名,使用key進行連接時為key指定的用戶名

Remote Derictory

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

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

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

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

參數(shù)說明

Name

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

Source files允許為空,復制到運程機上的文件,相對workspace的路徑,也支持表達式,如上圖中的“**/*.war”。

Remove prefix

允許為空,文件復制時要過濾的目錄,如上圖中的target目錄。

Remote directory

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

Exec command

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

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

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

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

    關(guān)注

    1

    文章

    584

    瀏覽量

    20552
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    23412
收藏 人收藏

    評論

    相關(guān)推薦

    基于 Docker 與 Jenkins 實現(xiàn)自動化部署

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務器的加持下,引領(lǐng)持續(xù)集成與部署的新紀元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?130次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實現(xiàn)自動化部署

    Linux從零到精通:最簡單的Shell腳本入門教程

    通過簡單的命令和腳本,實現(xiàn)對系統(tǒng)的靈活控制和自動化管理。 shell腳本前言 shell腳本入門 shell變量基礎(chǔ) shell變量子串
    的頭像 發(fā)表于 12-05 09:56 ?515次閱讀
    Linux從零到精通:最簡單的<b class='flag-5'>Shell</b>腳本入門教程

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

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之test命令

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

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

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

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

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

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

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

    shell具有的功能和特點

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

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

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

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

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

    嵌入式學習-常見的shell命令之其他命令

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

    常見的shell命令之其他命令

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

    嵌入式學習-shell介紹

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

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

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

    鴻蒙開發(fā)接口Ability框架:【ShellCmdResult】

    ShellCmdResult模塊提供Shell命令執(zhí)行結(jié)果的能力。
    的頭像 發(fā)表于 05-21 14:50 ?308次閱讀
    鴻蒙開發(fā)接口Ability框架:【ShellCmdResult】