Мне нужно сгенерировать список всех времен модификации файла в репозитории Git и сохранить его в файл, чтобы он был скопирован в результирующий контейнер Docker (эта часть выполняется через мой Dockerfile). Проблема в том, чтобы заставить работать скрипт оболочки. Это терпит неудачу, но я не могу получить разумную ошибку, чтобы помочь отладке. Любая помощь приветствуется. Вот мой Jenkinsfile до сих пор:
podTemplate(label: 'jenkins',
...
containers: [
containerTemplate(name: 'docker', image: 'docker', command: 'cat', ttyEnabled: true),
containerTemplate(name: 'kubectl', image: 'lachlanevenson/k8s-kubectl:v1.14.4', command: 'cat', ttyEnabled: true)
],
volumes: [
...
]) {
node('jenkins') {
scmInfo = checkout scm
...
stage('generate mtime log') {
script {
MTIMES = sh(
returnStdout: true,
script: "cd www ; git ls-tree -r --name-only HEAD | while read -r filename; do echo \"\$(git log -1 --format=\"%ad\" --date=format:'%Y%m%d%H%M.%S' -- \"$filename\")\" $filename\" ; done ; cd -"
)
}
dir("assets") {
writeFile file: 'mtime.log', text: "${MTIMES}"
}
}
stage('create docker images') {
...
}
stage ('run on kubernetes') {
...
}
}
}