Как настроить envVars в контейнере в конвейере Jenkins с помощью плагина Kubernetes - PullRequest
0 голосов
/ 19 декабря 2018

Я настраиваю конвейер Jenkins с Kubernetes, есть опция для установки переменных среды для контейнера в containerTemplate .Есть ли возможность переопределить эти значения в container, то есть:

container(
  name: 'my-container',
  envVars: [
    envVar(key: $KEY, value: $VALUE)
 ]) {
   ...
 }

, потому что некоторые переменные создаются на этапах сборки и не могут быть установлены в podTemplate.К сожалению, приведенный выше пример не работает.

1 Ответ

0 голосов
/ 20 декабря 2018

Обратите внимание, что на момент написания этой статьи согласно документам :

Оператор контейнера позволяет выполнять команды непосредственно в каждом контейнере.Эта функция считается ALPHA, поскольку все еще существуют некоторые проблемы с параллельным выполнением и возобновлением конвейера

Я полагаю, что это не вариант.Однако вы можете попробовать установить переменные в команде sh.Например:

def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, containers: [
    containerTemplate(name: 'maven', image: 'maven:3.3.9-jdk-8-alpine', ttyEnabled: true, command: 'cat'),
    containerTemplate(name: 'golang', image: 'golang:1.8.0', ttyEnabled: true, command: 'cat')
  ]) {

    node(label) {
        stage('Get a Maven project') {
            git 'https://github.com/jenkinsci/kubernetes-plugin.git'
            container('maven') {
                stage('Build a Maven project') {
                    sh 'MYENV1=value1 MYEVN2=value2 mvn -B clean install'
                }
            }
        }

        stage('Get a Golang project') {
            git url: 'https://github.com/hashicorp/terraform.git'
            container('golang') {
                stage('Build a Go project') {
                    sh """
                    mkdir -p /go/src/github.com/hashicorp
                    ln -s `pwd` /go/src/github.com/hashicorp/terraform
                    MYENV1=value1 MYEVN2=value2 cd /go/src/github.com/hashicorp/terraform && make core-dev
                    """
                }
            }
        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...