1. 程式人生 > >Jenkins建立slave節點----Linux平臺

Jenkins建立slave節點----Linux平臺

Linux系統一般預設都有安裝SSH服務,因此可以讓Jenkins通過SSH來登入並管理奴隸節點。登入SSH有兩種方式:通過使用者名稱和密碼訪問SSH;通過私鑰的方式訪問SSH。下面介紹的是通過私鑰的方式訪問SSH,建立Liunx節點。

第一步:配置Linux系統的SSH服務免密碼登入

1. 新建登入使用者Jenkins,然後切換到該使用者

[root@RBS-09 ~]# useradd jenkins  
[[email protected] RBS-09 ~]# su - jenkins  
[[email protected] RBS-09 ~]$
  • 1
  • 2
  • 3

2. 生成一個金鑰對,中間會有幾次詢問,都直接輸入回車

[[email protected] RBS-09 ~]$ ssh-keygen -t rsa  
#可以使用-t選項選擇加密方式,包括 RSA 和 DSA 兩種金鑰
#例如:$ssh-keygen -t dsa 或者ssh-keygen -t rsa
#加密方式不同,key的名稱不同,其他沒有區別
#如果沒有指定金鑰,預設RSA
Generating public/private rsa key pair.
#私鑰存放的位置,預設會存放在使用者目錄的.ssh資料夾,直接回車
Enter file in which to save the key (/home/froad/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): #預設,回車 Enter same passphrase again: #預設,回車 Your identification has been saved in /home/jenkins/.ssh/id_rsa.#私鑰路徑 Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub.#公鑰路徑 The key fingerprint is: 6b:81:28:af:5e:54:bb:af:cf:e3:f5:2d:0a:aa:50:71 [email protected]
RBS-09.funshion.com [[email protected] RBS-09 ~]$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3. 驗證/home/jenkins目錄下是否已建立了兩個金鑰:公鑰id_rsa.pub和私鑰id_rsa

[[email protected] RBS-09 ~]$ ls -l /home/jenkins/.ssh/  
總計 8  
-rw------- 1 jenkins jenkins 1675 Mar 14 13:31 id_rsa  
-rw-r--r-- 1 jenkins jenkins  396 Mar 14 13:31 id_rsa.pub
  • 1
  • 2
  • 3
  • 4

4. 將公鑰拷貝到authorized_keys檔案

[[email protected] RBS-09 .ssh]$ pwd  
/home/jenkins/.ssh  
[[email protected] RBS-09 .ssh]$ cat id_rsa.pub >> authorized_keys     
[[email protected] RBS-09 .ssh]$ chmod 600 authorized_keys
  • 1
  • 2
  • 3
  • 4

5. 將authorized_keys檔案拷貝到需要被管理Linux系統的使用者目錄下的.ssh資料夾中

6. 驗證是否配置成功

注1只能在生成key的電腦上訪問authorized_keys的電腦,如果需要兩臺電腦互相訪問均免密碼。則需要重複上面的步驟(機器的配置剛好相反)。 
注2如果新增指紋的時候提示新增失敗,是因為你以前新增過了這個ip的指紋。 
解決辦法:將.ssh目錄下known_hosts檔案刪除,也可以開啟這個檔案將對於ip的那條記錄刪除

[[email protected] RBS-09 .ssh]$ ssh [email protected]192.168.2.xxx
#root是使用者名稱,可以根據你的需求改變
The authenticity of host '192.168.2.xxx (192.168.2.xxx)' can't be established.
RSA key fingerprint is ff:07:49:4d:xxxxxxxxxxe:2c:38.
Are you sure you want to continue connecting (yes/no)? yes
#同意將指紋新增到本地
Warning: Permanently added '192.168.2.xxx' (RSA) to the list of known hosts.
Last login: Wed Oct 23 13:58:32 2013 from 192.168.1.xxx
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

第二步:配置憑證

1. 回到Jenkins頁面上,配置訪問這個伺服器的“Credential”,在Jenkins頁面的左側快捷欄中點選“Credentials”

這裡寫圖片描述 
這裡寫圖片描述

2. 選擇預設的“Global credentials”,點選左側的“Add Credentials”新增訪問伺服器的憑據

注:這裡面有個憑據域的概念,它的作用是如果我們配置了很多登入伺服器的憑據,可以通過域來分類整理這些憑據,比如:所有訪問伺服器A的憑據都在一個域裡這種情況。 
這裡寫圖片描述

3. 在“Kind”裡,我們選擇“SSH Username with private key”;“Username”這裡輸入登入伺服器的使用者名稱“jenkins”;“Private Key”這裡選擇“Enter directly”,輸入內容就是上面步驟裡建立的 id_rsa 檔案內容。

這裡寫圖片描述

第三步:通過Jenkins主頁->系統管理進入管理節點介面,如下圖,然後對節點進行配置

這裡寫圖片描述

第四步:選擇“新建節點”後,���轉至新建節點頁面,輸入一個節點名稱,選擇“Dump Slave”新增一個節點。

這裡寫圖片描述

第五步:驗證Linux節點是否安裝成功。可通過管理節點介面檢視,也可以檢視節點的日誌資訊。

注:使用憑證進行連線時,出現以下問題,則只需修改authorized_keys許可權:chmod 755 authorized_keys

[05/15/14 09:37:32] [SSH] Opening SSH connection to 10.10.22.37:22.  
ERROR: Server rejected the 1 private key(s) for jenkins (credentialId:7265ff8a-1515-4745-a174-e6f550630818/method:publickey)  
[05/15/14 09:37:32] [SSH] Authentication failed.  
hudson.AbortException: Authentication failed.  
    at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1143)  
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:648)  
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:642)  
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)  
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)  
    at java.lang.Thread.run(Thread.java:701)  
[05/15/14 09:37:32] [SSH] Connection closed.  
[05/15/14 09:37:32] Launch failed - cleaning up connection  

相關推薦

Jenkins建立slave節點----Linux平臺

Linux系統一般預設都有安裝SSH服務,因此可以讓Jenkins通過SSH來登入並管理奴隸節點。登入SSH有兩種方式:通過使用者名稱和密碼訪問SSH;通過私鑰的方式訪問SSH。下面介紹的是通過私鑰的方式訪問SSH,建立Liunx節點。 第一步:配置Linux系統的S

Jenkins建立slave節點----Windows平臺

第一步:通過Jenkins主頁->系統管理進入管理節點介面,如下圖,然後對節點進行配置 第二步:選擇“新建節點”後,跳轉至新建節點頁面,輸入一個節點名稱,選擇“Dump Slave”新增一個

Jenkins新增slave節點遇到的問題

slave節點映象製作1.0: 先下載帶jdk8的映象,在此基礎上安裝ssh,git等 dockerfile:   FROM 10.19.248.12:30100/library/gongan-jdk8:2.0   RUN rpm -ivh https://dl.fedoraprojec

關於jenkins配置slave節點的一些坑

1、關於環境變數 jenkins 配置slave節點時,讀取環境變數的位置是 ~/.bashrc 如果配到 /etc/profile 是讀取不到的 2、關於連線方式 啟動slave節點選擇SSH通過賬號登入時,請選擇:Non verifying Ve

Jenkins構建多節點Linux節點

-i amp lin 日誌 shell 1.2 groups fff http 系統管理-管理節點-新建Linux節點 點擊Linux節點運行,產生下面這些日誌,表示連接成功:[02/09/18 05:20:36] [SSH] Opening SSH connection

Linux 字元裝置驅動結構(二)—— 自動建立裝置節點

      上一篇我們介紹到建立裝置檔案的方法,利用cat /proc/devices檢視申請到的裝置名,裝置號。 第一種是使用mknod手工建立:mknod filename type major minor 第二種是自動建立裝置節點:利用u

持續集成工具jenkins slave節點配置(三)

java ext mage pro 技術 日誌 process img 目的 一.新節點slave搭建之前的主節點master:Centos7 190.168.3.250新建的slave節點環境:Centos7 190.168.3.251 系統設置-節點管理 設置連

linux驅動:自動建立裝置節點

在載入驅動模組後,就要自己使用mknod建立裝置節點,這樣雖然是可行的,但是比較麻煩。我們可以在__init()函式裡面新增一些函式,自動建立裝置節點。建立裝置節點使用了兩個函式 class_create()和device_create(),當然在__exit()函式裡,要使

jenkins基於k8s動態增減jnlp-slave節點進行構建

1.配置jenkins-master 1.開啟jenkins系統管理–>全域性安全配置–>代理 這裡指定的埠是jnlp-slave連結master使用的埠 注意:如果jenkins-master是在容器中啟動的一定要記得將這個埠暴露到外部,

linux driver ------ 字元裝置驅動之“ 建立裝置節點流程 ”

在字元裝置驅動開發的入門教程中,最常見的就是用device_create()函式來建立裝置節點了,但是在之後閱讀核心原始碼的過程中卻很少見device_create()的蹤影了,取而代之的是device_register()與device_add(),將device_create()函式展開不難發現:其實de

Linux裝置驅動第四天(自動建立裝置節點、LED驅動程式)

回顧: 與驅動有關的幾個重要結構體 1,struct cdev //從軟體上代表硬體裝置 { dev_t dev;//裝置號 = 主裝置號+次裝置號 struct file_operations f_ops; } 2,stru

Linux裝置節點建立》使用者空間ueventd建立裝置節點規則

一、devfs、udev和sysfs是什麼關係? linux2.6之前使用devfs裝置檔案系統,它存在與核心空間; linux2.6之後使用udev裝置檔案系統,它存在與使用者空間、但嚴重依賴與sysfs檔案系統。 二、Android(使用linux2.6以後的裝

linux用mknod建立裝置(節點)

mknod命令用於建立一個裝置檔案,即特殊檔案 首先要明白什麼是裝置檔案,簡單的我們說 作業系統與外部裝置(入磁碟驅動器,印表機,modern,終端 等等)都是通過裝置檔案來進行通訊的,在Unix/Linux系統與外部裝置通訊之前,這個裝置必須首先要有一個裝置檔案,裝置檔案

jenkinsLinux平臺,慎用rm命令

    昨天運行同事寫的shell指令碼,發生了一件很悲劇的事情,把整個root目錄下的檔案都刪除了,現分享給大家,提供經驗。     指令碼中的刪除命令如下:rm -rf ${workspaece}/*  (看出什麼端倪了嗎···)     這個指令碼本來是放在Jenki

Linux /dev 自動建立裝置節點

ifeq ($(KERNELRELEASE),) #KERNEL_DIR:=/lib/modules/$(shell uname -r)/build/ KERNEL_DIR:=/usr/src/linux-headers-3.2.0-29-generic-pae PWD:=$(shell pwd) modul

Linux裝置節點建立》手動與自動建立裝置節點

一、手動建立 1.驅動模組 test_driver.c //#include <linux/devfs_fs_kernel.h> #include <linux/module.h> #include <linux/types.h>

兩種常見掛載Jenkins slave節點的方法

1、掛載slave節點的方法 在Jenkins的Master上,進入Mange node頁面,可以管理node節點,例如新加、刪除等操作。 新加node節點的頁面如下: 其中, Name是節點名字; Description是節點描述; # of

linux字元驅動之自動建立裝置節點

上一節中,我們是手工建立裝置節點,大家肯定也會覺得這樣做太麻煩了。 問:能不能讓系統自動建立裝置節點? 答:可以,linux有udev、mdev的機制,而我們的ARM開發板上移植的busybox有mdev機制,那麼就使用mdev機制來自動建立裝置節點。 問:檔案系統裡,在

Linux裝置節點建立》使用者空間ueventd建立裝置節點規則

說明:本文基於Android2.3和Linux2.6,其餘版本僅供參考。 一、devfs、udev和sysfs是什麼關係? linux2.6之前使用devfs裝置檔案系統,它存在與核心空間; linux2.6之後使用udev裝置檔案系統,它存在與使用者空間、但嚴重依賴與sy

Jenkins自動化用例執行看不到介面-新增slave節點

Jenkins搭建完成後,預設執行自動化案例的節點都是master,master即啟動jenkins的這臺伺服器,而在master上執行案例,通常都是執行後臺程序,所以有同學就會疑惑為啥用jenkins跑指令碼看不到執行介面。如果想看到執行介面的話,需要新增一個slave節