2017-02-13 5 views
4

У меня есть простая работа конвейера на: 1) извлекает GIT ветвь 2) перейдите в каталог запуска 3) выполнить существующий скрипт для запуска тестовДженкинс трубопровода - файл не найден

самого сценария трубопровода очень просто в данный момент:

stage 'build' 
node { 
    git url: '[email protected]:nip_5g_fpga', branch: "Phase_UL_1a" 
    sh "pwd" 
    sh "echo $PATH" 
    sh "ls" 
    dir ('nip_fpga/verification/src/UE/env/top_level/run') { 
     sh "source vcs_bash.sh 1" 
    } 
} 

Когда я запускаю это, я получаю следующее сообщение об ошибке (показывать только часть консоли):

Running 
in /var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/run 
[Pipeline] { 
[Pipeline] sh 
[run] Running shell script 
+ source vcs_bash.sh 1 
/var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/[email protected]/durable-c40e151e/script.sh: line 2: source: vcs_bash.sh: file not found 

Я проверил, что сам vcs_bash.sh существует, но он существует в каталоге .../top_level/run, а не в каталоге top_level/[email protected]. Итак, я смущен, как обойти это.

Кроме того, я не понимаю концепцию каталога TMP, что трубопровод создает

+0

Jenkins создаст временный файл, который и в основном скопирует ваше содержимое, а затем выполнит файл, а следовательно, файл '@ tmp'. Может случиться так, что jenkins скажет вам, что файл не найден, когда оболочка по умолчанию в jenkins является bash, но она не установлена ​​на узле (т.е. это узел Windows или контейнер докеров без bash) – Rik

+0

@Rik - я сомневаюсь если это имеет место в вышеупомянутой проблеме. Я буду исполнять команду bash и проверять завтра. Мне любопытно, почему Jenkins создает каталог tmp для выполнения. Я просто хочу, чтобы Дженкинс выполнил свое рабочее пространство. – Sharanbr

+0

О, теперь я вижу. Если вы отправите файл. Разве вы не можете просто выполнить его? – Rik

ответ

0

Зная, что трубопровод Дженкинс Plugin сохранить код из мерзавца на папке рабочего пространства @ сценарий, я использовал эту маленькую хитрость для доступа к моему файлу sh:

sh "../[email protected]/myScriptName.sh" 
Смежные вопросы