Дженкинс JNLP раб застревает на индикаторе выполнения, когда необходимо запустить задание Maven - PullRequest
0 голосов
/ 15 апреля 2019

У меня проблема с моим Jenkins, который работает на K8s. Мой конвейер состоит из двух модулей: Jnlp alpine (по умолчанию для k8s) и Maven (3.6.0 на основе java-8: изображение jdk-8u191-slim). Время от времени, после запуска новой сборки, она застревает без прогресса со сборкой.

Вход в Pod:

Jnlp - похоже, работает как ожидалось

Maven - задание не выполняется (запущен ps -ef).

Ценю вашу помощь.

Пытался приостановить / возобновить - не решить это. Единственный способ - прервать и заново запустить сборку.

версия Jenkins - 2.164.1

enter image description here

Мой конвейер:

properties([[$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false], 
    parameters([string(defaultValue: 'master', description: '', name: 'branch', trim: false),
    string(description: 'enter your namespace name', name: 'namespace', trim: false),])])

    def label = "jenkins-slave-${UUID.randomUUID().toString()}"

    podTemplate(label: label, namespace: "${params.namespace}", yaml: """
    apiVersion: v1
    kind: Pod
    spec:
      nodeSelector:
        group: maven-ig
      containers:
      - name: maven
        image: accontid.dkr.ecr.us-west-2.amazonaws.com/base_images:maven-base
        command: ['cat']
        resources:
          limits:
            memory: "16Gi"
            cpu: "16"
          requests:
            memory: "10Gi"
            cpu: "10"
        tty: true
        env:
        - name: ENVIRONMENT
          value: dev
        - name: config.env
          value: k8s
        - mountPath: "/local"
          name: nvme 
      volumes:
        - name: docker
          hostPath:
           path: /var/run/docker.sock
        - name: nvme
          hostPath:
           path: /local

    """
      ) {

      node(label) {
        wrap([$class: 'TimestamperBuildWrapper']) {
        checkout([$class: 'GitSCM', branches: [[name: "*/${params.branch}"]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'credetials', url: 'https://github.com/example/example.git']]])
        wrap([$class: 'BuildUser']) {
            user = env.BUILD_USER_ID
        }
        currentBuild.description = 'Branch: ' + "${branch}" + '  | Namespace: ' + "${user}"
        stage('Stable tests') {
          container('maven') {
             try {
                sh "find . -type f -name '*k8s.*ml' | xargs sed -i -e 's|//mysql|//mysql.${user}.svc.cluster.local|g'"
                sh "mvn -f pom.xml -Dconfig.env=k8s -Dwith_stripe_stub=true -Dpolicylifecycle.integ.test.url=http://testlifecycleservice-${user}.testme.io -Dmaven.test.failure.ignore=false -Dskip.surefire.tests=true -Dmaven.test.skip=false -Dskip.package.for.deployment=true -T 1C clean verify -fn -P stg-stable-it"
            }
            finally {
                archive "**/target/failsafe-reports/*.xml"
                junit '**/target/failsafe-reports/*.xml'
                }
            }
            }
       // stage ('Delete namespace') {
    //    build job: 'delete-namspace', parameters: [
     //       [$class: 'StringParameterValue', name: 'namespace', value: "${user}"]], wait: false
      //      }
        }
      }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...