Привет, я работаю над Openshift 3.9.Ниже приведен фрагмент кода конвейера Дженкинса
stage('Build Image') {
openshift.withCluster() {
openshift.withProject(env.DEV_PROJECT) {
def bcSelector = openshift.selector("bc", "jboss")
def bcExists = bcSelector.exists()
if (!bcExists) {
openshift.newBuild("--name=jboss", "--image-stream=jboss-eap70-openshift:1.5", "--binary=true")
} else {echo "The specified image already exists"}
}}
}
stage('Build Image with app') {
sh "rm -rf oc-build && mkdir -p oc-build/deployments"
sh "cp /var/lib/jenkins/jobs/devpipeline/jobs/devpipeline-tasks-pipeline/workspace/target/hello-1.0.war oc-build/deployments/ROOT.war"
openshift.withCluster() {
openshift.withProject(env.DEV_PROJECT) {
openshift.selector("bc", "jboss").startBuild("--from-dir=oc-build", "--wait=true")
}
}
}
stage('deploy to Dev') {
openshift.withCluster() {
openshift.withProject(env.DEV_PROJECT) {
if (openshift.selector('dc', 'jboss').exists()) {
openshift.selector('dc', 'jboss').delete()
openshift.selector('svc', 'jboss').delete()
openshift.selector('route', 'jboss').delete()
}
def app = openshift.newApp("jboss:latest")
app.narrow("svc").expose();
def dc = openshift.selector("dc", "jboss")
openshift.tag("${env.DEV_PROJECT}/jboss:latest", "${env.DEV_PROJECT}/jboss:${build_number}")
}
}
}
На этапе Build
iam с контейнером jboss.На этапе Build Image with app
я беру файл войны, который был создан, и создаю образ jboss с файлом войны. В deploy to dev
я развертываю образ приложения в dev и отмечаю изображение номером сборки jenkins ${env.DEV_PROJECT}/jboss:${build_number}
.I amработает над механизмом отката в конвейере, где я хочу развернуть конкретный образ номера сборки в среде разработки.предположим, если мой номер сборки jenkins равен 14, а я хочу развернуть 10, то как я могу развернуть определенный теговый образ в dev.В изображениях openshift я вижу все помеченные изображения в диапазоне от 1 до 14. Теперь я хочу развернуть определенное помеченное изображение в dev.Возможно ли это?