slave节点机器配置
- 创建jenkins用户
用root用户登录slave节点,首先创建jenkins用户,并指定主目录
$ useradd -m jenkins -d /home/jenkins
查看jenkins用户及组的信息
$ id jenkins
uid=500(jenkins) gid=500(jenkins) 组=500(jenkins)
再修改jenkins密码,若不修改是未知的
$ passwd jenkins
再切换到jenkins用户,确保jdk已安装
$ su - jenkins
同时确保slave已安装jdk
$ java -version
且sshd正确运行
$ service --status-all | grep ssh
- 创建公钥私钥,实现免用户密码登录
使用jenkins用户登录到jenkins master机器
使用jenkins用户登录时若发现连接失败(lost connection),可以先用root用户登录,打开/etc/passwd,找到
jenkins:x:498:499:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/false
将最后的/bin/false改为/bin/bash,便可以登录。记得使用完改回去,猜测是安全限制。
jenkins用户登录后执行以下命令,生成公私钥
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /var/lib/jenkins/.ssh/id_rsa
将公钥和私钥保存到jenkins主目录下,注意确保.ssh目录和id_rsa都是jenkins用户所拥有或者有可读写权限
然后会要求输入passphrase(密码),这里还是不设置,直接两次enter
进入/var/lib/jenkins/.ssh,使用scp命令将生成的公钥id_rsa.pub拷贝到各个slave节点,并命名为authorized_keys
$ scp id_rsa jenkins@xxx.xxx.xxx.xxx:~/.ssh/authorized_keys
同时要修改authorized_keys的权限,
$ chmod 700 authorized_keys
Jenkins控制台slave配置
回到jenkins控制台,打开以下页面,添加credentials,以下配置页面是添加slave的jenkins用户密码
另一种ssh免密码登录配置(基于公开密钥的认证),可指定jenkins master私钥的路径或者选择第三个From the Jenkins master ~./ssh,我们选择/var/lib/jenkins/.ssh/id_rsa,这是在上一节创建的私钥
创建slave
进入“系统管理>管理节点>新建节点”,输入节点名称,我已经建了一个节点,所以可以选择复制
进入配置页面,按要求填写,credentials这里选择用户密码登录,免密码登录需要指定一个属于它的id_rsa。
保存之后,点击Relaunch agent,启动节点
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。