• DevOpsKubeSphere-3.x
  • 流水线利用svn仓库部署maven项目,svn拉取代码这一步一直报错

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
虚拟机,Centos7,8C/16G

Kubernetes版本信息
v3.3.1

容器运行时

docker client version 20.10.8

KubeSphere版本信息
v3.3.1。在线安装,使用的all-in-one方式。使用kk安装。

问题是什么

查看日志如下:

Started by user admin

Running in Durability level: MAX_SURVIVABILITY

[Pipeline] Start of Pipeline

[Pipeline] node

Still waiting to schedule task

‘base-c0wnm’ is offline

Agent base-c0wnm is provisioned from template base

---

apiVersion: “v1”

kind: “Pod”

metadata:

annotations: {}

labels:

jenkins: "slave"

jenkins/label-digest: "1405df66cbe219b0bf6355bc3d60361a8376b6b4"

jenkins/label: "base"

name: “base-c0wnm”

spec:

affinity:

nodeAffinity:

  preferredDuringSchedulingIgnoredDuringExecution:

  - preference:

      matchExpressions:

      - key: "node-role.kubernetes.io/worker"

        operator: "In"

        values:

        - "ci"

    weight: 1

containers:

  • command:

    • “cat”

      image: “kubesphere/builder-base:v3.2.2”

      imagePullPolicy: “IfNotPresent”

      name: “base”

      resources:

      limits:

        cpu: "4000m"
        
        ephemeral-storage: "10Gi"
        
        memory: "8192Mi"

      requests:

        cpu: "100m"
        
        ephemeral-storage: "1Gi"
        
        memory: "100Mi"

      tty: true

      volumeMounts:

    • mountPath: “/root/.sonar/cache”

      name: “volume-1”

      readOnly: false

    • mountPath: “/var/run/docker.sock”

      name: “volume-0”

      readOnly: false

    • mountPath: “/home/jenkins/agent”

      name: “workspace-volume”

      readOnly: false

      workingDir: “/home/jenkins/agent”

  • args:

    • “********”

    • “base-c0wnm”

      env:

    • name: “JENKINS_SECRET”

      value: “********”

    • name: “JENKINS_TUNNEL”

      value: “devops-jenkins-agent.kubesphere-devops-system:50000”

    • name: “JENKINS_AGENT_NAME”

      value: “base-c0wnm”

    • name: “JENKINS_NAME”

      value: “base-c0wnm”

    • name: “JENKINS_AGENT_WORKDIR”

      value: “/home/jenkins/agent”

    • name: “JENKINS_URL”

      value: “http://devops-jenkins.kubesphere-devops-system:80/

      image: “jenkins/inbound-agent:4.10-2”

      imagePullPolicy: “IfNotPresent”

      name: “jnlp”

      resources:

      limits:

        memory: "1536Mi"
        
        cpu: "500m"

      requests:

        memory: "400Mi"
        
        cpu: "50m"

      tty: false

      volumeMounts:

    • mountPath: “/root/.sonar/cache”

      name: “volume-1”

      readOnly: false

    • mountPath: “/var/run/docker.sock”

      name: “volume-0”

      readOnly: false

    • mountPath: “/home/jenkins/agent”

      name: “workspace-volume”

      readOnly: false

nodeSelector: {}

restartPolicy: “Never”

securityContext:

fsGroup: 1000

tolerations:

  • effect: “NoSchedule”

    key: “node.kubernetes.io/ci”

    operator: “Exists”

  • effect: “PreferNoSchedule”

    key: “node.kubernetes.io/ci”

    operator: “Exists”

volumes:

  • hostPath:

    path: “/var/run/docker.sock”

    name: “volume-0”

  • hostPath:

    path: “/var/data/jenkins_sonar_cache”

    name: “volume-1”

  • emptyDir:

    medium: ""

    name: “workspace-volume”

Running on base-c0wnm in /home/jenkins/agent/workspace/pipline-test0314g82mf/devops-sample-trunk-manual

[Pipeline] {

[Pipeline] withEnv

[Pipeline] {

[Pipeline] stage

[Pipeline] { (pull svn code)

[Pipeline] container

[Pipeline] {

[Pipeline] checkout

Checking out a fresh workspace because /home/jenkins/agent/workspace/pipline-test0314g82mf/devops-sample-trunk-manual doesn’t exist

Cleaning local Directory .

Checking out http://******:8088/svn/*****/devops-maven-sample/trunk at revision HEAD –quiet

Using sole credentials admin/****** in realm ‘[http://\*\*\*\*:8088](http://%5C*%5C*%5C*%5C*:8088) Subversion Repository’

At revision 28

No changes for http://*****:8088/svn/****/devops-maven-sample/trunk since the previous build

[Pipeline] }

[Pipeline] // container

[Pipeline] }

[Pipeline] // stage

[Pipeline] stage

[Pipeline] { (mvn build & push)

Stage “mvn build & push” skipped due to earlier failure(s)

[Pipeline] }

[Pipeline] // stage

[Pipeline] stage

[Pipeline] { (push latest tag to harbor)

Stage “push latest tag to harbor” skipped due to earlier failure(s)

[Pipeline] }

[Pipeline] // stage

[Pipeline] stage

[Pipeline] { (deploy to cluster3-uat 172.***.225)

Stage “deploy to cluster3-uat 172.***.225” skipped due to earlier failure(s)

[Pipeline] }

[Pipeline] // stage

[Pipeline] stage

[Pipeline] { (deploy to cluster2-dev 172.***.224)

Stage “deploy to cluster2-dev 172.***.224” skipped due to earlier failure(s)

[Pipeline] }

[Pipeline] // stage

[Pipeline] }

[Pipeline] // withEnv

[Pipeline] }

[Pipeline] // node

[Pipeline] End of Pipeline

java.lang.ClassNotFoundException: org.apache.commons.digester.Digester

at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1417)

at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1372)

at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1127)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

Caused: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester

at hudson.scm.SubversionSCM.createChangeLogParser(SubversionSCM.java:1539)

at org.jenkinsci.plugins.workflow.job.WorkflowRun.onCheckout(WorkflowRun.java:871)

at org.jenkinsci.plugins.workflow.job.WorkflowRun.access$1000(WorkflowRun.java:137)

at org.jenkinsci.plugins.workflow.job.WorkflowRun$SCMListenerImpl.onCheckout(WorkflowRun.java:1168)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:155)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:97)

at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:84)

at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:829)

Finished: FAILURE

困扰了一下午了。

另外请问,有没有关于svn方式部署,详细的jenkinsfile文件参考或者教程视频?相关文档对于svn仓库都是一笔带过

有没有流水线 配合svn常见问题解答。我的svn是docker搭建使用elleflorio/svn-server镜像,支持http协议

但是第一步都失败了。

求案例

把 ks-jenkins 这个 deployment 中 image,修改为:kubespheredev/ks-jenkins:v3.4.0-2.319.3 试一下。

kubesphere/ks-jenkins#89
这里有记录,新版本修复了,主要是 subversion 这个插件需要升级下。

或者 替换 jenkins 的 image,或者可以登录到 jenkins 的 ui,手动升级下 subversion 的版本,然后重启 jenkins 也可以。

    我也有去jenkin dashboard升级插件subversion,重启后不可用, 提示jenkins版本低,要3.***才能用

    chilianyi

    镜像下载成功了,也启动了新的 把之前unkonwnStatus的负载都删除。

    但是流水线出现了新bug:创建的流水线无法使用,全是灰色。全程使用admin创建企业空间、项目、流水线

      chilianyi 大佬,我这里出了一个问题,devops-controller日志报流水线执行记录在Jenkins中不存在,所以“delete it”,然后Kubesphere就不显示这些记录了。

      但实际上Jenkins里是有记录的。从Jenkins面板查看,这些记录成功的失败的等待执行器的都有,也找不到什么规律。

      排查到这一步没什么思路了,请教一下可能是什么原因导致的,我发了一个帖子,贴了具体报错日志情况

      https://kubesphere.io/forum/d/9494-kubespherejenkinsjenkins/6

      chilianyi 下面从docker和pod看的日志。 报的之前的旧流水线都失效了无法使用。问题是新创建的都无法进入,在jenkins也没看到记录。 创建流水线,实时日志也没打日志

      [upl-image-preview url=

      ]

        toytest 查看docker容器日志, jenkins pod是一直没有日志,实时操作都没日志

        toytest

        观察前端页面"灰色"是synchstatus控制的,我点击右侧的"编辑"按钮进到流水线了,企图编辑jenkinsfile还是报错。原因是流水线创建根本没推到jenkins那里,导致jenkins那边没有脚本

        toytest 这里报错的 10.253.29.175:80

        通过 svc 查看下,是 jenkins 的服务吗,看起来 是 jenkins 仍然启动失败了吧。

        最后好像是主集群的kenkins升级了,另外一个集群B上的jenkins没升级。导致集群B上的流水线都无法用了。

        应该也需要升级

        1 年 后