Я использую Jenkins и OpenShift для создания сборки и запуска развертывания.Вот мой YAML-файл:
apiVersion: v1
kind: List
metadata: {}
items:
- apiVersion: v1
kind: BuildConfig
metadata:
name: petclinic-pipeline
spec:
source:
git:
uri: <<git url>>
type: Git
strategy:
type: JenkinsPipeline
jenkinsPipelineStrategy:
jenkinsfilePath: Jenkinsfile
triggers:
- generic:
secret: FiArdDBH
type: Generic
Конфигурация Jenkins выглядит следующим образом:
node {
stage('Source Checkout') {
git url: "git url"
}
stage('Build') {
git url: "git url"
sh "/var/lib/jenkins/apache-maven-3.5.4/bin/mvn clean package -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300 -DskipTests=true"
stash name:"jar", includes:"target/a.jar"
}
stage('Build Image') {
unstash name:"jar"
sh "oc start-build petclinic-pipeline --from-file=target/a.jar --follow"
}
}
Теперь, если я это применю, я получаю следующую ошибку:
$ oc start-build petclinic-pipeline --from-file=target/a.jar --follow
Uploading file "target/a.jar" as binary input for the build ... The
Build "petclinic-pipeline-20" is invalid: spec.source.git: Invalid
value: "": must be set when using Jenkins Pipeline strategy with
Jenkinsfile from a git repo
Я ожидаю, что образ должен быть построен, и я не могу понять, где проблема.Это что-то вроде: spec git не должен использоваться в файле YAML при использовании стратегии Jenkins?