• 精华帖DevOps
  • KubeSphere Jenkins DevOps Pipeline 添加静态 Windows agent

事先准备

  • 安装好 DevOps 功能的 KubeSphere
  • 安装好JRE并且网络与 KubeSphere互通的 windows 机器 (JRE一键安装

修改 jenkins agent service,使集群外部可以访问此服务

kubectl edit svc -n kubesphere-devops-system ks-jenkins-agent

将服务类型修改为 NodePort,此时通过下面命令可以看到这个 serivce 所对应的开放端口

kubectl get svc -n kubesphere-devops-system

![

为 windows 节点添加 hosts

在 KubeSphere 当中 Jenkins 默认的 Self 地址为 jenkins.devops.kubesphere.local:30180

我们需要在 windows 节点中 添加 hosts $nodeIP jenkins.devops.kubesphere.local
例如:

在 windows 节点预先创建 Jenkins 的工作目录

这里我使用 C 盘下的 jenkins_home 作为 jenkins agent 的工作目录,可以根据自身情况调整工作目录

在 windows 节点访问 jenkins,添加windows agent

访问 Jenkins 主页,使用 admin 登陆 Jenkins (账号密码与 kubesphere admin 相同)

点击 Manage Jenkins -> Manage Nodes

点击 New Node 添加节点

输入 node 名称,并且选择 Permanent Agent

Remote root directory 之前创建的 jenkins 工作目录
Tunnel connection through 输入 kubesphere 中 ks-jenkins-agent 的  NodePort地址

点击 save,并且在 windows agent 节点,点击 Launch,执行该下载文件即可连接

创建流水线并运行测试

创建一个简单的流水线,并运行,运行成功表示 agent 已经添加成功了

pipeline {
  agent {
    node {
      label 'windows'
    }

  }
  stages {
    stage('hello') {
      steps {
        echo 'hello'
      }
    }
  }
}
runzexia 更改标题为「KubeSphere Jenkins DevOps Pipeline 添加静态 Windows agent

创建kvs后可以不用做端口转换,直接连接vpn,vpn需要在防火墙设置下端口。

1 登陆时候用admin登陆,不能加@后面的,否则能登陆但是没权限创建节点。
2 Tunnel connection through的端口为kubectl get svc -n kubesphere-devops-system命令后生成的ks-jenkins-agent端口。

2 个月 后

linux上也是类似的吗?如果我想下面这样,将git代码在自定义的容器中编译。

pipeline {
  agent {
    node {
      label 'Origin6'
    }
  }
}

那我的自定义容器是不是必须要java?除了java还需要哪些?