#jenkins #kubernetes #kubernetes-pod #kubernetes-service #jenkins-kubernetes
Вопрос:
У меня есть конвейер Дженкинса, который запускает приложение в облаке с помощью плагина Kubernetes.
До сих пор у меня был простой файл yaml, который настраивает модуль. Конвейер Дженкинса создает модуль и выполняет некоторые операции (он анализирует некоторые данные).
Я создал службу (с 1 репликой), которую я развернул, и я хочу использовать ее в Jenkins вместо создания одного и того же модуля при каждом запуске.
Может кто-нибудь, пожалуйста, посоветовать, как это сделать? В настоящее время именно так я запускаю конвейер:
stage('Parse logs') {
agent {
kubernetes {
cloud 'sandbox'
label 'log-parser'
yamlFile 'jenkins/logparser.yaml'
}
}
when {
beforeAgent true
expression { params.parse_logs }
}
steps {
container('log-parser'') {
sh '/usr/local/openjdk-11/bin/java -jar /opt/log-parser/log-parser.jar --year=$year --month=$month --day=$day --hour=$hour
}
}
}
Не могли бы вы посоветовать, как использовать созданный сервис «анализатор журналов» вместо создания модуля каждый раз, когда я запускаю конвейер?
Комментарии:
1. Какую версию Kubernetes вы использовали и как вы настроили кластер? Вы использовали установку с голым металлом или какой-то облачный провайдер? Какой именно плагин вы использовали?
2. Привет @DragosRoban. Есть какие-нибудь новости?
3. На самом деле, насколько я проверял, это не совсем возможно. Что мне нужно сделать, я создал независимую службу и связал модули, созданные плагином Дженкинса, с этой службой, используя метки и селекторы. Это можно найти в официальной документации.