Чтобы узнать, как управлять образами Docker из Jenkins, я читаю эту ссылку .
Что такое «правило делать цель» в Docker? Простой пример, приведенный ниже, терпит неудачу, потому что «не существует правила для создания цели». Что это значит в Docker?
Ошибка и код, вызывающий ошибку
Строка кода sh 'make test'
в Jenkinsfile по ссылке выше выдает ошибку при запуске внутри следующего блока:
testImage.inside {
sh "whoami"
sh 'make test'
}
Фактическая ошибка, которую выдает Дженкинс при попытке интерпретировать строку кода sh 'make test'
:
make test— Shell Script<1s
[ple-dockere-containered-app-WWNVRTE6XFKMI4JPEVK2F2U3HOGDZICATW6XBFM2IQUW5PAG5FWA] Running shell script
+ make test
make: *** No rule to make target 'test'. Stop.
Полный Jenkinsfile
:
node {
// Clean workspace before doing anything
deleteDir()
try {
stage ('Clone') {
checkout scm
}
stage ('Build') {
def testImage = docker.build("test-image", "./app")
testImage.inside {
sh "whoami"
sh 'make test'
}
}
} catch (err) {
currentBuild.result = 'FAILED'
throw err
}
}
Обратите внимание, что команда make test
выполняется внутри контейнера .