Jenkins Kubernetes Slave 代理设置

问题描述 投票:0回答:1

我正在尝试为 kuberenetes 从属代理构建一个共享库。我正在遵循詹金斯共享库结构。任何人请帮助我设置这个库。

我的src/com/k8s/PodTemplatesLib.groovy如下:

package com.k8s

class PodTemplatesLib implements Serializable {
  def steps
  def PodTemplatesLib(steps) {this.steps = steps}

public void mavenTemplate(body) {
  
  podTemplate(
    yaml: libraryResource('KubernetesPod.yaml'),
    cloud: 'K8Cluster',
    label: 'eks-dev-slaves'
    ) {
    body.call()
}
}
}

我对应的Jenkinsfile在vars\K8sAgentLib.groovy下

@Library('k8sagent') _
import com.k8s.PodTemplatesLib

def call(body){

  def k8s_helper = new PodTemplatesLib(this)

  def pipelineParams= [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = pipelineParams
  body()
  my_node="eks-dev-slaves"

  k8s_helper.mavenTemplate {
    node(my_node) {
      container('k8client') {
        sh '''
        echo K8S_CONTAINER_ENV_VAR = ${CONTAINER_ENV_VAR}
        kubectl version --short
        kubectl get ns --kubeconfig=/app/config
        '''
      }
     }
  }
}

通过上述配置,kubernetes Slave 不会创建也不会调用。这里的任何专家都可以帮助我编写库结构来调用代理。

kubernetes jenkins-plugins jenkins-shared-libraries jenkins-kubernetes jenkins-agent
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.