У меня есть Jenkinsfile со следующими шагами:
stage('build') {
agent {
docker {
image 'maven:3-alpine'
args '-v /ec2-user/.m2:/root/.m2'
}
}
steps {
git(url: 'https://github.com/user/project.git', branch: 'master')
sh 'cp /home/application-prod.properties src/main/resources'
sh 'mvn clean install'
}
}
Согласно документам, Дженкинс должен выполнить шаги на этом этапе во вновь созданном контейнере, используя этот образ.
Если это так, то почему команда sh второго шага выполняется успешно? Как он может получить доступ к файлу на хосте Jenkins?
Мне кажется, что команды выполняются на хосте Jenkins. Тогда почему mvn clean install работает нормально? На хосте Jenkins не установлен Maven.