jenkins-Slave节点创建(通过JNLP连接)

通过JNLP连接node

关于这种方式jenkins有如下描述:

Launch slave agents via Java Web Start 
Starts a slave by launching an agent program through JNLP. The launch in this case is initiated by the slave, thus slaves need not be IP reachable from the master (e.g. behind the firewall.) It is still possible to start a launch without GUI, for example as a Windows service.

这段话的意思是说,JNLP方式连接salve,不需要master必须能够ssh连接到slave,只需要两者能够ping通即可。这种连接方式的slave还可以作为服务运行在slave的机器上。 
这种方式连接slave的步骤如下: 


按照上面图片的设置方式设置完成后,点击save,就建好了一个slave节点。如下图所示。 

点击“Launch”按钮 或者在cmd输入如上命令启动节点。

Launch按钮点击后会弹出对话框等待连接成功。

2. 将此服务安装成一个server:

连接成功后,显示connected,对话框的左上角会有一个File按钮,点击后显示“Install as Service”,点击自动安装成为service。

如果提示已有此服务则可以使用以下方式手动安装为service

command命令执行如下:

sc.exe create "jenkins-slave.exe" start= auto binPath= "D:Jenkins_slave" DisplayName= "jenkins-slave-testsever"
提示:[SC] CreateService 成功

3. 使用slave节点构建:

接下来的任务是将该节点连到master上。JNLP方式是slave主动连接master。

创建一个多配置项目:

在Configuration Matrix中选择Add Slaves:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里我给您举个例子。 假设我们的 Jenkins节点已经部署在 Kubernetes 集群中,并且已经安装了 Kubernetes 插件。现在我们需要创建一个 Jenkins Slave Pod,使其能够在 Kubernetes 集群中运行构建任务。 1. 创建一个 Jenkins Agent 镜像 首先,我们需要创建一个 Jenkins Slave 镜像。可以使用 Dockerfile 来定义该镜像,例如: ``` FROM jenkins/inbound-agent:4.6-1-jdk11 USER root RUN apt-get update && \ apt-get install -y maven && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER jenkins ``` 这个 Dockerfile 基于 `jenkins/inbound-agent:4.6-1-jdk11` 镜像,安装了 Maven,然后切换回 Jenkins 用户。 2. 创建一个 Kubernetes Pod Template 接下来,我们需要创建一个 Kubernetes Pod 模板,该模板将用于创建 Jenkins Slave Pod。 在 Jenkins 界面中,点击 "Manage Jenkins" -> "Configure System",然后在 "Cloud" 部分下找到 "Kubernetes" 并点击 "Add Pod Template"。 在 "Pod Template" 页面中,可以配置 Pod 的基本信息,例如 Pod 名称、标签、容器名称、镜像名称等。 此外,还可以在 "Containers" 部分下添加容器。在这个例子中,我们只需要添加一个容器,名称为 "jnlp",镜像为我们之前创建Jenkins Slave 镜像。 ``` Name: jenkins-slave Labels: jenkins-slave Namespace: default Service Account: default Node Selector: <none> Working Dir: /home/jenkins/agent Containers: jnlp: Name: jnlp Docker Image: <your-jenkins-slave-image> Command to run: - /bin/sh - -c - > cat > /root/.kube/config <<EOF apiVersion: v1 kind: Config clusters: - name: cluster-name cluster: server: https://kubernetes.default.svc.cluster.local certificate-authority-data: <your-ca-data> contexts: - name: context-name context: cluster: cluster-name user: <your-user> namespace: <your-namespace> current-context: context-name EOF /usr/local/bin/jenkins-agent TTY Enabled: true Always Pull Image: true Working Dir: /home/jenkins/agent ``` 上述配置中,我们在容器中执行了一个命令,用于配置 Kubernetes API 访问信息,然后启动 Jenkins Agent。 3. 创建 Jenkins Slave Pod 完成 Pod 模板的配置之后,我们可以在 Jenkins 界面中使用该模板来创建 Jenkins Slave Pod。 在 Jenkins 界面中,点击 "New Item" -> "Freestyle project",然后在 "General" 页面中勾选 "Restrict where this project can be run",并在 "Label Expression" 中输入 "jenkins-slave"。 保存配置后,当我们触发构建任务时,Jenkins 将会自动创建一个 Jenkins Slave Pod,并将该任务分配给该 Pod 运行。 以上就是在 Jenkins 中使用 Kubernetes 动态创建 Jenkins Slave Pod 的具体步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值