文章目录
通过SSH或JNLP方式创建Jenkins Linux Slave
创建Jenkins Linux Slave最简单的方法是通过SSH连接Jenkins Master和Jenkins Slave,如果在不能设置SSH的情况,还可以选择通过JNLP方式创建Jenkins Linux Slave。
通过SSH方式创建Jenkins Linux Slave
在Jenkins Slave机器上创建jenkins
的Linux账号
在Jenkins Slave机器上创建jenkins
的Linux账号:
sudo useradd jenkins -U -s /bin/bash -d /var/lib/jenkins -m
执行passwd jenkins
来修改jenkins账号密码
在Jenkins Master机器上生成SSH Keys
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
将Jenkins Master的SSH public key放到Jenkins Slave机器的jenkins
账号下
# 复制Jenkins Master上的~/.ssh/id_rsa.pub的内容,添加到Jenkins Slave的~/.ssh/authorized_keys的末尾
su - jenkins
vi ~/.ssh/authorized_keys
如果Jenkins Slave机器上~/.ssh
目录还不存在,则需要先执行:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod -R 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
在Jenkins Master机器上测试能否免密码SSH到Jenkins Slave机器:
ssh jenkins@<jenkins_slave_server>
在Jenkins配置SSH Credential
添加类型为SSH Username with private key的Credential,输入Username为jenkins
,选择直接输入SSH private key,并将Jenkins Master上的SSH private key(id_rsa
)的内容复制到SSH private key中。
最后输入一个有意义的ID和Description。
在Jenkins上添加Node
打开Manage Jenkins / Manage Nodes,选择New Node,选择Node类型为Permanent。
Number of executors建议选择不超过Jenkins Slave机器的CPU核数(可以通过htop
命令查看CPU核数)
Remote root directory为Jenkins Slave上jenkins
账号的Home目录,这里为/var/lib/jenkins
。
Labels输入一个或多个有意义的标签,便于Jenkins job根据该标签来指定Jenkins Slave运行。
Usage选择为Only build jobs with label …
Launch method选择为Launch slave agent via SSH,输入Jenkins Slave服务器的IP地址,选择上面配置的SSH Credential,Host Key Verifi