环境信息
Linux环境
Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019
> cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
Jenkins版本
jenkins需要安装的docker插件
环境说明
CentOs7安装的Docker环境,使用Docker安装的Jenkins服务。
附录
[https://docs.docker.com/engine/install/centos/](Centos7 Docker安装指南)
[https://www.jenkins.io/doc/book/installing/docker/](Jenkins docker安装指南)
配置Docker节点
让我们打开 系统设置 -> 节点管理 -> 新建节点 页面。
让我们从节点名称的输入开始吧,输入你的节点名称,然后选择 固定节点 项后,点击 Create创建。
复制现有节点 单选项是当你已成功添加了除master之外的节点时会出现。所以,这里不用有疑惑。
我这里输入完成,让我们点击create进入下一阶段的信息补充页面。
这里没什么额外说明的。
工作目录就是这个节点的代理使用哪个工作目录进行执行jenkins的构建步骤等流程操作。
这个标签与下面的用法的选择息息相关。
如果你选择 尽可能的使用这个节点,那么jenkins代理会允许运行不限于标签处列出的值。
如果你选择 只运行绑定到这台机器的job,那么节点不是参与普通的代理,只有通过绑定和label与标签的值匹配上,才会执行这个节点。
标签如果有多个,需要以空格进行分割。
启动方式我这里选择的是 Launch agents via SSH 这一项。
主机就是要启动代理的IP地址。
Credentials凭据如果有,选择登录到这台服务器的凭据就可以了。如果没有,则需要创建:
这里我们选择使用用户名和密码进行登录,因为这方便demo和测试,生产最好使用ssh等加密方式。
好了,这里我们添加凭据完成了。
选择我们刚刚添加的凭据就可以了。
HostKey验证策略:这里我们选择不验证。
如果需要验证ssh,请编辑
~/.ssh/known_hosts
文件吧。
最后点击最后的保存按钮吧。让我们完成节点的创建步骤。
好了,现在让我们返回到节点列表的位置。
可以看到我们新创建的节点。点击节点的名称,可以看到这个节点的相关状态等信息。
我们看日志的内容。可以看到 认证成功的信息等描述。
可以看到在登录到节点服务器成功之后,jenkins会将代理的jar包发送到代理节点上并进行启动。
最后一句代表着代理启动成功,并已连接上jenkins了。
示例Demo
pipeline {
agent {
docker {
image 'node:7-alpine'
label 'cnblog_docker'
}
}
stages {
stage('Test') {
steps {
sh 'node --version'
}
}
}
}
现在让我们创建个流水线任务。
流水线的脚本就使用简单的示例(上方)
保存后,点击立即构建后,点击对应的构建记录,我们可以看到此次构建的日志文件。
可以看到执行的结果是成功的。
结束。
如果看到陌生的菜单选择项,那么就看项所对应的插件文档吧,一版都会有相关的说明信息。
其他有用的文档:
[https://www.jenkins.io/doc/book/using/using-agents/](Jenkins 节点创建和代理使用文档)
https://github.com/jenkinsci/ssh-slaves-plugin/blob/main/doc/CONFIGURE.md
[https://www.howtouselinux.com/post/ssh-known_hosts-file](ssh know_hosts文件的结构和作用的说明信息。)