Openshift получить имя ветки в jenkinsfile

Я настроил веб-хук на сервере битбакет, который указывает на Openshift. Я хочу получить URL-адрес репозитория GIT, ветку git и т. д. из полезной нагрузки webhook в моем встроенном файле jenkins, но я не знаю, как их получить. (Тем не менее, Webhook запускает сборку).

Является ли это возможным ?

Вот мой билдконфиг

apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:

  labels:
    application: spring-demo
    template: openjdk18-web-basic-s2i
  name: spring-demo
  spec:
  output:
    to:
      kind: ImageStreamTag
      name: 'spring--demo:latest'
  runPolicy: Serial
  source:
    type: None
  strategy:
    jenkinsPipelineStrategy:
      jenkinsfile: |-
        pipeline {
        agent {
          label 'maven'
        }
        stages {
          stage('Build') {
            steps{
               sh "echo ${env.BRANCH_NAME}"  <<<<------------- this is null 
            }
          }
        }
        }
    type: JenkinsPipeline
  triggers:
    - bitbucket:
        secretReference:
          name: yoyo
      type: Bitbucket

--Спасибо.


person RakeshKShukla    schedule 01.06.2018    source источник
comment
Любое решение для этого?   -  person Kok How Teh    schedule 19.06.2020


Ответы (1)


Согласно этот вопрос о переполнении стека и некоторая документация по Jenkins, вам необходимо установить плагин git в вашем экземпляре Jenkins. Тогда у вас будут переменные GIT_BRANCH и GIT_URL, доступные вам через ${env.GIT_BRANCH} и ${env.GIT_URL}. Убедитесь, что в именах веток нет косой черты (например, версия/1.2.3), так как это путает многие ключевые инструменты в Jenkins.

В крайнем случае, в конвейере сценариев Jenkins вы можете установите свои собственные переменные среды с помощью параметра или значений по умолчанию (например, «мастер»), если вы знаете, что не будете часто менять свои ветки.

person Wimateeka    schedule 01.06.2018