• DevOps
  • devops如何保留pod容器,不让他立马销毁

这个是我的jenkinsfile,但是每次运行完都会自动销毁,我在jenkins上设置了保留存活时间,但是还是不行

版本是kubesphere4.1.3版本,而且用代码审核也只能保留maven的pod,里面nodejs的pod就算后面添加了审核也一样会自动销毁,麻烦大佬解答一下,谢谢

以下是我的jenkinsfile文件

pipeline {
  agent {
    node {
      label 'maven'
    }

  }
  stages {
    stage('podman login') {
      agent none
      steps {
        container('maven') {
          sh "echo $HARBOR_CREDENTIAL_PSW | podman login --tls-verify=false $REGISTRY -u 'robot\$robot-test' --password-stdin"
        }

      }
    }

    stage('Checkout SCM') {
      agent none
      steps {
        git(url: 'https://gitee.com/xiaolanjin/test-project.git', credentialsId: '', branch: 'master', changelog: true, poll: false)
      }
    }

    stage('maven package') {
      agent none
      steps {
        container('maven') {
          sh 'cd $WORKSPACE/pet_bysj && mvn clean package -Dmaven.test.skip=true'
        }

      }
    }

    stage('构建 SpringBoot 项目镜像') {
      agent none
      steps {
        container('maven') {
          sh 'cd $WORKSPACE/pet_bysj && podman build -f Dockerfile-online -t $REGISTRY/$HARBOR_NAMESPACE/$APP_NAME:SNAPSHOT-$BUILD_NUMBER .'
        }

      }
    }

    stage('构建 Vue.js 项目镜像') {
      agent {
        node {
          label 'nodejs'
        }

      }
      steps {
        git(url: 'https://gitee.com/xiaolanjin/test-project.git', credentialsId: '', branch: 'master', changelog: true, poll: false)
        container('nodejs') {
          sh '''pwd
ls -l
cd $WORKSPACE/vue-admin-template
npm -v
npm install --registry=https://registry.npmmirror.com
npm run build:prod'''
        }

      }
    }

    stage('确认发布') {
      agent none
      steps {
        input(message: '确认发布到生产环境?', submitter: '')
      }
    }

    stage('推送镜像') {
      agent none
      steps {
        container('maven') {
          sh "podman push --tls-verify=false ${IMAGE_NAME}"
        }

      }
    }

    stage('保存制品') {
      agent none
      steps {
        archiveArtifacts(artifacts: 'pet_bysj/target/*.jar', followSymlinks: false)
      }
    }

  }
  environment {
    REGISTRY = 'harbor.threatbook.com'
    HARBOR_NAMESPACE = 'ks-devops-harbor'
    APP_NAME = 'backend-project'
    IMAGE_TAG = 'latest'
    IMAGE_NAME = "${REGISTRY}/${HARBOR_NAMESPACE}/${APP_NAME}:${IMAGE_TAG}"
    HARBOR_CREDENTIAL = credentials('robot-test')
  }
}

保留运行的那个容器吗?直接sleep就可以了吧

    sylvia
    类似jenkins的容器清理设置,但是kubesphere的devops并没有触发这个机制,running完了就会自动清理,除非写sleep才行

    sylvia 比如一个流水线里面用不同的pod,如果sleep只能再次状态停止,也不会进行下一个状态,我希望的是像jenkins一样,运行完了也继续保留容器