В настоящее время у меня есть конвейер, работающий примерно так:
pipeline {
agent {
docker {
label 'linux'
image 'java:8'
args '-v /home/tester/.gradle:/.gradle'
}
}
environment {
HOME = '/'
GRADLE_USER_HOME = '/.gradle'
GRADLE_PROPERTIES = credentials('gradle.properties')
}
stages {
stage('Build') {
steps {
sh 'cp ${GRADLE_PROPERTIES} ${GRADLE_USER_HOME}/'
sh './gradlew clean check'
}
}
}
}
Проблема в том, что gradle.properties
в конечном итоге помещается в более известное место в хост-системе на время сборки.
Я знаю, что Docker позволяет мне «монтировать» файлы с хоста. Поэтому я хотел бы сделать это вместо:
agent {
docker {
label 'linux'
image 'java:8'
args '-v /home/tester/.gradle:/.gradle ' +
'-v ' + credentials('gradle.properties') +
':/.gradle/gradle.properties'
}
}
К сожалению, это заканчивается тем, что выполняется:
$ docker run -t -d -u 1001:1001 -v /home/tester/.gradle:/.gradle -v @credentials(<anonymous>=gradle.properties):/.gradle/gradle.properties -w
Есть ли способ заставить его расширить его?