摘要:環境介紹角色系統版本版本準備工作在被遠程主機上準備好腳本文件。禁止在目標機上執行命令,勾選后將會忽略在配置中選項中設置的命令。服務使用的用戶名,使用進行連接時為指定的用戶名。在這里填寫在遠程主機上執行的命令。
IP | 角色 | 系統版本 | Docker版本 |
---|---|---|---|
192.168.1.18 | Jenkins | CentOS 7.5.1804 | Docker 19.03.13 |
192.168.1.20 | K8s_Node2、Gitlab | CentOS 7.5.1804 | Docker 19.03.13 |
?在被遠程主機192.168.1.20上準備好test.sh腳本文件。
[root@k8s-node2 ~]# cat >> cat shell/test.sh << EOF> #!/bin/bash> echo I am 192.168.1.20> EOF[root@k8s-node2 ~]# cat shell/test.sh#!/bin/bashecho I am 192.168.1.20[root@k8s-node2 ~]# chmod +x shell/test.sh //添加腳本執行權限
?在主機192.168.1.18的Jenkins中【系統管理】—【管理插件】中,過濾出“Publish over SSH插件”,然后直接安裝插件,如圖安裝即可,或者去官網下載插件的.hpi文件通過高級選項中手動安裝也可以。
Publish Over SSH插件
?安裝完插件需要重啟Jenkins生效。
?在Jenkins主機上生成一對密鑰,公鑰發送給需要被遠程的主機,私鑰配置到Jenkins中即可。
[root@k8s-master ~]# ssh-keygen -t rsa -P ""Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:SHA256:OfjoeZpsg4PijcdTjIPJ4WIXWHkOQeC6wFztgryyvWE root@k8s-masterThe key"s randomart image is:+---[RSA 2048]----+| .ooo ||. +.. || .o.+. ||=oo... . . ||==+.+.. S ||oB.+.o o . ||=.E.o.. . ||o++=oooo. ||o++o.o*+ |+----[SHA256]-----+[root@k8s-master ~]# ls .ssh/id_rsa(私鑰) id_rsa.pub(公鑰) known_hosts[root@k8s-master ~]# ssh-copy-id -i .ssh/id_rsa.pub 192.168.1.20[root@k8s-node2 ~]# cat .ssh/authorized_keys //可以看到公鑰已經拷貝到被遠程主機上了ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSV7n2kfuan5cfGaSgRtfxLJdxn52ZzKGtLUduq1+dZWhKpqIytCKOUgO/rpsUOD1WdsVQqJetxvML7BWHzO67LhmX07K9QQ4L9hIfBoG+ozA+qDCeKkJGg02rcxAwGvtPqvtJYDQII/Yg8KX6rRb8ccjktGTwVPusYf+F25/BifysnEwHuOe0FcwpknMhBEzJWRnS+UCVr/b+3fd1BVEso0Xz/8bfAQpAvXIYyCYJe0CP+ucz3pPioirgOmQQtQVHnaqXlKNIVncwtDlZ7LHzWV4sgkfmKQno3qkdAw0FG1bxXDp3KnOGiCNdvq0aVyNPHGWi3pu7OhPsxlEz2NZP root@k8s-master[root@k8s-master ~]# ssh root@192.168.1.20 //測試免密登錄成功Last login: Wed Nov 17 12:59:12 2021 from k8s-master[root@k8s-node2 ~]# 登出Connection to 192.168.1.20 closed.
?在Jenkins中【系統管理】—【系統配置】,劃到“Publish over SSH”來配置該插件信息。
?注意:私鑰指的是Jenkins主機上生成的私鑰,公鑰在上面已經發送給被遠程主機了。
?Passphrase:SSH的密碼,使用用戶名/密碼登錄時為用戶名的密碼,使用私鑰登錄時為私鑰的密碼。
?Path to key:SSH私鑰的文件路徑,私鑰文件的路徑,可以是絕對路徑,也可以是相對$JENKINS_HOME的相對路徑。
?Key:私鑰,即私鑰的具體密鑰內容。如果“Key”和“Path to key”都設置,則“Key”的優先級較高,私鑰的密碼是“Passphrase”中設置的內容。
?Disable exec:禁止在目標機上執行命令,勾選后將會忽略在Job配置中“Exec command”選項中設置的命令。Jenkins的說明文檔中的“The Disable exec in the advanced settings for individual configurations will be ignored.”沒有完全理解,從實際效果來看,只要“Disable exec”被勾選后,不管SSH Server中是否勾選“Disable exec”,Job中設置的命令都將補忽略。
?Name:SSH節點配置的名稱,在構建中使用Publish over SSH插件時,此名稱將出現在“SSH Server”中“Name”的下拉列表中,如下圖:
?Hostname:通過SSH連接到的機器的主機名或IP。
?Username:SSH服務使用的用戶名,使用key進行連接時為key指定的用戶名。
?Remote Derictory:運程機器上真實存在的目錄,并且“Username”指定的用戶要有訪問此目錄的權限,插件將把文件傳送到此目錄下。
?Name:“系統管理>系統配置”設置的SSH Sverver的名字Name。
?Source files:允許為空,復制到遠程主機上的文件。
?Remove prefix:允許為空,文件復制時要過濾的目錄。
?Remote directory:允許為空,文件得到到遠程機上的目錄,此目錄是相對于“SSH Server”中的“Remote directory”的,如果不存在將會自動創建。
?Exec command:在這里填寫在遠程主機上執行的命令。
?最近剛申請了個微信公眾號,上面也會分享一些運維知識,大家點點發財手關注一波,感謝大家。 【原創公眾號】:非著名運維 【福利】:公眾號回復 “資料” 送運維自學資料大禮包哦!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/123944.html
摘要:測試環境和產品環境應該使用不同的任務,因為服務會部署到不同的機器。使用部署設置時區加入程序并安裝包發布其他資料持續集成執行讀不到環境變量問題文檔 showImg(https://segmentfault.com/img/remote/1460000010233188); docker run -u root -itd --name jenkins -p 8080:8080 -p 500...
摘要:使用自動構建部署環境阿里云,宿主機服務器安裝,在安全規則中確認端口開啟。完畢后,根據提示設置登陸賬戶。至此,完成自動化的構建和部署。當你推送代碼后就會實現自動構建,部署。容器出錯的是鏡像構建和鏡像運行,以及容器間通信的問題。 使用Docker+Jenkins自動構建部署 環境 阿里云ESC,宿主機服務器安裝Docker,在安全規則中確認8080端口開啟。 客戶端mac 運行jenk...
實踐性嘗試,這里只在一臺虛擬機下操作。 1.vmware 下centos 安裝 設置centos 橋接模式 參考:https://www.cnblogs.com/loven... 2.centos 軟件安裝 1) docker 安裝 yum install -y docker 2)JDK 安裝 參考:https://blog.csdn.net/evan_chen_1/article/de...
閱讀 3968·2021-11-24 09:38
閱讀 1443·2021-11-19 09:40
閱讀 2786·2021-11-18 10:02
閱讀 3712·2021-11-09 09:46
閱讀 1783·2021-09-22 15:27
閱讀 3122·2019-08-29 15:24
閱讀 1012·2019-08-29 12:40
閱讀 1695·2019-08-28 18:24