если условие для ветки папки в Jenkinsfile - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть папка ветки "набор функций", в этой папке есть многоотраслевой

Мне нужно запустить приведенный ниже скрипт в моем Jenkinsfile с условием, если эта сборка запускается из каких-либо веток в "наборе функций"папка типа "набор функций /", затем запустите сценарий

сценарий:

sh "" "

if [ ${env.BRANCH_NAME} = "feature-set*" ]
          then
                echo ${env.BRANCH_NAME}
                branchName='${env.BRANCH_NAME}' | cut -d'\\/' -f 2
                echo \$branchName
                npm install
                ng build --aot --output-hashing none --sourcemap=false                                                           
          fi

" ""

токовый выход не получает условия:

  • [набор функций / swat5 = набор функций *] любая помощь?

Ответы [ 2 ]

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

Я бы переписал это, чтобы он был в основном синтаксисом Jenkins / Groovy, и переходил в shell только при необходимости.

На основании предоставленной вами информации я предполагаю, что ваше env.BRANCH_NAME всегда выглядит как `feature-set /

// Echo first so we can see value if condition fails
echo(env.BRANCH_NAME)
// startsWith better than contains() based on current usecase
if ( (env.BRANCH_NAME).startsWith('feature-set') ) {
    // Split branch string into list based on delimiter
    List<String> parts = (env.BRANCH_NAME).tokenize('/')
    /**
     * Grab everything minus the first part 
     * This handles branches that include additional '/' characters 
     * e.g. 'feature-set/feat/my-feat'
     */
    branchName = parts[1..-1].join('/')
    echo(branchName)
    sh('npm install && ng build --aot --output-hashing none --sourcemap=false')
}
0 голосов
/ 09 декабря 2018

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

Administrator1 @ XXXXXXXX: $ if [[$ {BRANCH_NAME} = набор функций *]];затем эхо «Успех»;fi Success

Удалите кавычки и добавьте дополнительный «[]» в начале и конце соответственно.

Дополнительный «[]» работает как регулярное выражение

...