Original link: https://www.iyouhun.com/post-234.html
Server mutual trust
A server: the server where Jenkins is located
B server: the server where the project is deployed
A server generates a secret key
ssh-keygen # 一路回车
The A server installs the local ssh public key file to the account corresponding to the remote host (it can also be copied manually, the recommended command)
# 执行命令后输入密码完成复制ssh-copy-id root@B服务器IP #端口不一致复制方法ssh-copy-id -i /root/.ssh/id_rsa.pub "-p 1008 root@B服务器IP" # 使用该命令测试ssh root@B服务器IP # 登录后注意此时主机名已经是B 服务器的了查看命令hostname # 修改主机名centos6 vim /etc/sysconfig/network #编辑network文件修改hostname行(重启生效) # 检查修改cat /etc/sysconfig/network # 修改主机名centos7 hostnamectl set-hostname www.iyouhun.com # 使用这个命令会立即生效且重启也生效
The copied file is named authorized_keys
under the home/用户名/.ssh/
file
# 比如新建了一个Jenkins账户cat /home/jenkins/.ssh/authorized_keys # root 账户在cat /root/.ssh/authorized_keys
Publish over SSH plugin configuration
Passphrase : If you entered a password when generating the secret key, enter it here, otherwise leave it blank
Path to Key : The path of the server secret key ( id_rsa
) where Jenkins is located, and choose one of the following Keys
Key : The path content of the server secret key ( id_rsa
) where Jenkins is located, and choose one of the above Path to Key
Disable exec : disable command execution, remove the ability to execute commands from this plugin
SSH Servers
Name : name, identification, customized, only used for identification
Host name : the host name, the host name or IP address of the server, fill in the IP address of the B server here
Username : The user that will be used to connect to the host, such as root
Remote directory : A directory on the remote server that will be used as a valid root directory for this configuration, such as /www/wwwroot
advanced options
Use password authentication, or use a different key You can check use password connection or secret key connection
Passphrase / Password : Secret key password or username password
Path to Key : The path of the server secret key ( id_rsa
) where Jenkins is located, and choose one of the following Keys
Key : The path content of the server secret key ( id_rsa
) where Jenkins is located, and choose one of the above Path to Key
If you use the key link remember here is the private key ( id_rsa
) of Jenkins (A server)
Port : the remote server port, if you change the port, remember to change it here too
More references: https://wiki.jenkins.io/display/JENKINS/Publish+Over#PublishOver-host
Project publish settings
1. Click on the build environment of the Jenkins project
2. Select the following two according to the project situation
3. Select the publisher you just added
4. Transfer Settings
Source files : source files, support all matching, if you want to transfer all files and folders in the folder, you need to add two * symbol pattern documents after the folder path
Remove prefix : Remove prefix, which refers to the prefix of the source file. For example, now we only transfer all files in the html folder, but the html folder itself does not need to appear on the remote server, so it needs to be removed.
Remote directory : The remote server directory, note that this directory is relative to the path set in the ssh servers
in the system settings just now, it will not be created
Then my directory this time is /www/wwwroot/www.iyouhun.com
exec command : The command to be executed after the transfer is completed, generally cleaning files, copying files, restarting some services, etc.
This article is reprinted from: https://www.iyouhun.com/post-234.html
This site is for inclusion only, and the copyright belongs to the original author.