#jenkins #groovy #jenkins-pipeline #openshift-3
#дженкинс #groovy #дженкинс-конвейер #openshift-3
Вопрос:
Мне было поручено создать рабочий процесс CI / CD для нашего проекта, объединяющего Openshift конвейер Дженкинса. Я могу построить, используя следующее:
stage('build') {
steps {
script {
openshift.withCluster() {
openshift.withProject() {
def buildSelector = openshift.selector("bc", "test")
buildSelector.startBuild()
buildSelector.logs('-f')
}
}
} // script
} // steps
} // stage
Но я хочу также использовать dotnet restore
и другие команды, но конвейерные возвраты:
/var/lib/jenkins/jobs/test-namespace/jobs/test-pipeline/workspace@tmp/durable-4265d26a/script.sh: line 1: dotnet: command not found
также при попытке использовать
agent {
docker { image 'mcr.microsoft.com/dotnet/aspnet:3.1' }
}
/var/lib/jenkins/jobs/test-namespace/jobs/test-pipeline/workspace@tmp/durable-4265d26a/script.sh: line 1: docker: command not found
Это мой текущий скрипт
pipeline {
agent {
node {
label ''
}
}
options {
// set a timeout of 20 minutes for this pipeline
timeout(time: 20, unit: 'MINUTES')
}
stage('build') {
steps {
script {
openshift.withCluster() {
openshift.withProject() {
def buildSelector = openshift.selector("bc", "test")
buildSelector.startBuild()
buildSelector.logs('-f')
}
}
} // script
} // steps
} // stage
stage('clean'){
steps {
script{
echo "${workspace} I want to call dotnet clean"
}
} // steps
} // stage
stage('restore'){
steps {
script{
echo "${workspace} I want to call dotnet restore"
}
} // steps
} // stage
stage('tests'){
steps {
script{
echo "${workspace} I want to call dotnet test *.sln"
}
} // steps
} // stage
stage('deploy') {
steps {
script {
openshift.withCluster() {
openshift.withProject() {
def deploySelector = openshift.selector("dc", "test")
deploySelector.startDeploy()
deploySelector.logs('-f')
}
}
} // script
} // steps
} // stage
}
}
Как я могу установить эти двоичные файлы в Jenkins? Я использую minishift на macOS.