Вот мой сценарий, у меня есть две ветви в gitlab, "master" и staging.
Мне нужно объединить jenkinsfile так, чтобы я мог использовать один и тот же файл как для staging, так и для master-ветви, но мне нужновыполнить разные наборы действий для каждой ветви
, что я пытаюсь сделать, если передача тега зафиксирована для размещения ветви jenkins создаст файл docker, загрузит его в aws ecr и запустит новый экземпляр docker впромежуточный кластер aws ecs и, если тег вставить в основную ветку, он развернет его в другом работающем кластере.
Я использовал проект "JENKINS PIPELINE" и написал приведенный ниже код в jenkinsfile, но env.BRANCH_NAME всегдавозвращая нулевое значение.
if (env.BRANCH_NAME == "staging") {
def serviceName = ""
def taskFamily = ""
def clusterName = ""
} else if (env.BRANCH_NAME == "master") {
def serviceName = ""
def taskFamily = ""
def clusterName = ""
}
при использовании конвейерного проекта "JENKINS MULTIBRANCH" он сканировал проект и автоматически идентифицировал все ветви, но кажется, что каждая ветвь имеет свой собственный webhook.
Ядействительно перепутал с MULTIBRANCH JENKINS.Должны ли мы настроить 2 разных webhook в gitlab?один для постановки, а другой для мастера?Дженкинс потянет и автоматически переключится на промежуточную ветвь, когда мы сделаем push тега git на промежуточную ветвь в gitlab?
похоже, когда мы делаем push метку на промежуточную ветку в gitlab, jenkinsизвлекает файл jenkins из промежуточной ветви, но обрабатывает файлы в главной ветви.
есть ли какой-нибудь способ, которым мы можем использовать проект "JENKINS PIPELINE" вместо "MULTI BRANCH"?