标签: kubernetes-jenkins-plugin

当我在 Jenkins 中使用 Kubernetes 作为我的代理时,它不会允许另一个执行器进入阶段

这是我的声明性 Jenkinsfile 的一个子集:

pipeline {
    agent {
      kubernetes {
        yamlFile 'pod.yml'
        defaultContainer 'tools'
      }
    }
    stages {
        stage('Init') { // <- this stage executes in Kubernetes and works very well
            steps {
                sh "echo init"
            }
        }
        stage('Build') {
            agent { label 'B202981' } // <- This wont work; B202981 is computer on my network
            steps {
                sh "echo build"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当此管道运行时,它会因异常而失败,您可以在此处看到该异常,而谷歌搜索此异常对我没有帮助。

java.lang.ClassCastException: hudson.slaves.DumbSlave cannot be cast to org.csanchez.jenkins.plugins.kubernetes.KubernetesSlave
    at org.csanchez.jenkins.plugins.kubernetes.pipeline.ContainerExecDecorator$1.launch(ContainerExecDecorator.java:250)
    at hudson.Launcher$ProcStarter.start(Launcher.java:455)
    at org.jenkinsci.plugins.durabletask.WindowsBatchScript.doLaunch(WindowsBatchScript.java:83)
    at org.jenkinsci.plugins.durabletask.FileMonitoringTask.launchWithCookie(FileMonitoringTask.java:106) …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-declarative-pipeline kubernetes-jenkins-plugin

4
推荐指数
1
解决办法
753
查看次数

Terraform 无法下载现有的 bitnami 图表

我计划使用 terraform 在 K8S 上设置 jenkins 管道来提供我的 CI/CD 环境。

我正在使用Terraform v0.12.18

我的 terraform 文件具有以下资源

resource "helm_release" "jenkins-master" {
  name = "jenkins"
  chart = "jenkins"
  version = "7.0.3"
  repository = "https://charts.bitnami.com/bitnami"


  set {
    name = "jenkinsUser"
    value = "admin"
  }
  set {
    name = "jenkinsPassword"
    value = "admin"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行 terraform apply -input=false Provision-plan时

我收到以下错误。

Error: failed to download "https://charts.bitnami.com/bitnami/jenkins-7.0.3.tgz" (hint: running `helm repo update` may help)
Run Code Online (Sandbox Code Playgroud)

但是当我使用直接运行 helm install 时

helm 安装 my-jenkins bitnami/jenkins --version 7.0.3

然后詹金斯得到安装。 …

bitnami terraform jenkins-pipeline kubernetes-helm kubernetes-jenkins-plugin

4
推荐指数
1
解决办法
5132
查看次数

使用“标签”或在 jenkinsfile 中为 kubernetes-plugin 定义 pod 模板?

一般来说

我在为 Jenkins 使用kubernetes-plugin时尝试使用标签,但我有点困惑。在我的pipeline下面,我尝试parallel使用不同的标签(代理)分步骤构建测试作业。

我已经在 J​​enkins 配置中使用 pod 模板和容器配置了插件,其中我使用与podTemplate定义的管道中相同的设置。

问题

问题是,当我agent label在第 2 阶段使用时,运行的是 jnpl 映像,而不是我在 config 中指向的映像someimage:latest

stage 1我在管道中定义 pod 的地方没有问题,并且所需的图像运行良好。

问题

我做错了什么? 这是我在 Jenkins 中的kubernetes 插件jenkinsfile的配置:

def podTemplate = """
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: k8s
    image: someimage:latest
    command:
    - sleep
    args:
    - infinity
    volumeMounts:
      - name: workspace-volume
        mountPath: /home/jenkins/agent
    workingDir: "/home/jenkins/agent"
  volumes:
      - name: "workspace-volume"
        persistentVolumeClaim:
          claimName: "jenkins-worker-pvc" …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins kubernetes jenkins-pipeline kubernetes-jenkins-plugin

1
推荐指数
1
解决办法
3万
查看次数