为了演示多节点的jenkins环境,我这里补充一篇文章,介绍如何在一个master的jenkins环境上添加一个windows节点。由于我的master 机器是linux,所以我现在就一步一步介绍如何添加一个windows Jenkins 节点到一个linux的master的jenkins,顺便测试一下agent这个指令。

1.到 new node页面

点击到jenkins->Manage Jenkins->Manage Nodes

可以在我jenkins环境上(anthony/123456)去把你自己电脑作为一个node添加到我的环境里,我放开了anthony用户的管理权限,希望大家小心操作,不要影响到别人的使用。

点击上图中的New Node

2.填写windows节点信息

点击下一步,注意下拉选择的位置

上面的Launch method只有2项,这两项其实配置起来很困难。接下来,我们需要改动一个地方,让出来第三项。

3.到Manage Jenkins->Configure Global Security

记得勾选红圈的这个第三个协议,点击保存设置。

4.New Node页面,设置如下图

注意上面红圈,有些配置和接下来后面是有必然关系的。这里特别提醒一点,这个labels名称,以后在pipeline中的agent{…} 是需要用得到的。

5.保存之后,页面如下

这个红色的X表示我们刚刚添加的windowns 节点并没有开始工作。点击这个win节点名称。

6.launch按钮,下载jenkins agent jar到windows机器上

上面提供两种方法,第一种下载文件,默认java去启动和运行程序。第二个,你可以拷贝这个命令,放到一个记事本文件,然后保存为bat文件,双击bat文件也可以运行。当然直接拷贝命令到cmd也可以,bat文件是方便下次你开机之后启动,连接到master环境。

7.下载文件,默认是java去运行该程序

Java运行成功之后,会打开一个小窗口。

看到这个connect,我们刷新当前jenkins页面,变成如下内容。

而且,在我前面配置的路径D:\JenkinsNode下自动创建了一个remote的文件夹。接下来如果运行job,还会自动创建生成更多文件到这个路径。

下面来复习一下agent的语法,写一个pipeline,让代码在win-anthony-demo这个节点去执行。之前我们的pipeline代码都是在我linux机器上运行。

pipeline代码如下

pipeline {
    agent {
        node {
            label "win-anthony"
            customWorkspace "${env.JOB_NAME}/${env.BUILD_NUMBER}"
        }
   }
   stages {
       stage ("list directory") {
           steps {
               script {
                    bat "dir"
               }
           }
       }
 
       stage ("Which java") {
           steps {
               script {
                    bat "java -version"
               }
           }
       }
   }
}

提醒:我前面文章中的pipeline代码存在单引号和双引号问题,很多的地方是用中文的单引号和中文的双引号,注意改过来。

我这里新建一个pipeline job,进行了测试。

Jenkins job:http://65.49.216.200:8080/job/agent-demo/

然后看控制台,也发现运行没有问题,一切正常。这里我们再回到D:\JenkinsNode,看看会发生什么。

所以,如果和我一样配置的windows的Jenkins节点,这个节点默认的workspace就是D:\JenkinsNode。这里提醒一下这行代码你需要去理解。customWorkspace "${env.JOB_NAME}/${env.BUILD_NUMBER}", 可以试试,如果注销这行代码,看看路径有什么变化。

最后,这种windows节点的缺点就是不能关机,一旦关机或者休眠,影响到agent这个Java进程,你就可以需要重写启动这个文件,到这个node的页面,点击launch按钮。当然linux也不能关机停电,但是稳定性比windows要强很多,所以,win作为节点机器去跑代码还是很少见,在生产环境。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐