Jenkins se statment

3

Eu estou tentando escrever uma instrução If simples no Shell de Execução de Jenkins (1.638). Eu procurei no problema semelhante e ele ainda não funcionou (veja abaixo o resultado final ). Eu tentei tanto [[e [e espaços relevantes, parece que Jenkins lida, se diferente do que na festa regular. Eu até tentei o então na mesma linha que o if com; Alguma idéia?

if [[ "${BRANCH_NAME}" == "master" ]] || [[ "${BRANCH_NAME}" == "master_dev" ]]
then
    ./runUnitTests.sh ${REPOSITORY_NAME} ${BASE_BUILD_CORE} ${BRANCH_NAME} ${BUILD_NUMBER} || echo "The npm may fail but the report exists"
fi

O resultado no Jenkins é

  • [[upgrade == master]] /tmp/hudson11669113852432623.sh: 2: /tmp/hudson11669113852432623.sh: [[: não encontrado
  • [[upgrade == master_dev]] /tmp/hudson11669113852432623.sh: 2: /tmp/hudson11669113852432623.sh: [[: não encontrado [core] $ / bin / sh -xe /tmp/hudson7252947297480815560.sh
por Chen 24.03.2016 / 07:25

1 resposta

13

Você já pensou em incluir um jogo de bash na sua concha?

#!/bin/bash
if [[ "${BRANCH_NAME}" == "master" ]] || [[ "${BRANCH_NAME}" == "master_dev" ]]
....

Isso forçará o Jenkins a usar seu intérprete local.

    
por 24.03.2016 / 07:47

Tags