Я создал простую линию в Дженкинс. В каталоге remote root моего агента указан путь моего проекта root. Но когда я тестирую, где я нахожусь во время сборки (например, определяя шаг, подобный sh 'pwd'
), я вижу, что каталог, из которого выполняются мои шаги, это каталог $WORKSPACE
(/path_to_remote_root_directory_of_the_agent/workspace/jenkins_project_title
). Это означает, что я не могу просто запустить ни свои модульные тесты, такие как sh 'vendor/bin/phpunit ./test/Unit'
, ни другие задачи, которые я обычно запускаю из папки проекта root.
Я почти уверен, что просто что-то неправильно настроил и что в обычном случае сценарии, такие как , это
pipeline {
agent {
label 'devvm-slave-01'
}
stages {
stage('Prepare') {
steps {
sh 'composer install'
...
}
}
...
stage('Checkstyle') {
steps {
sh 'vendor/bin/phpcs --report=checkstyle --report-file=`pwd`/build/logs/checkstyle.xml --standard=PSR2 --extensions=php --ignore=autoload.php --ignore=vendor/ . || exit 0'
checkstyle pattern: 'build/logs/checkstyle.xml'
}
}
}
}
работают должным образом без каких-либо грубых обходных путей для путей.
Что я делаю неправильно и как чтобы он работал правильно?