LINUX.ORG.RU

Как послать webhook из gitlab при пуше конкретного тега?

 , ,


0

1

Приветствую

Имеется проект в GitLab, в котором деплой на разные среды выполняется через gitlab ci/cd. В зависимости от тега, который пушится (dev*, test*, etc.) в gitlab пайплайне срабатывают тригеры, которые выполняют соответствующие стейджи (при пуше тега dev* срабатывают стейджи ответственные за dev среду)

Нужно перенести данный процесс в Jenkins. С использованием webhook имеются сложности, так как он может фильтровать только по бренчам, но не по тегам. Тригерить по тегу он может, но по любому. (Исторически сложилось что все идет в мастер ветку, а тегами разграничивают)

Рассматривал идею тригерить по любому тегу, а уже в дженкинсе переключаться на последний тег и его деплоить, только запушить могут теги одновременно для двух сред, тому фильтр по последнему тегу не актуальный.

Есть идеи как реализовать данный вопрос?

Давно не пользуюсь jenkins’ом, но из общих соображений — меняйте процессы. У дженкинса есть своя логика, вот её и реализуйте, а не пытайтесь сделать из него странный самоходный гитлаб.

ugoday ★★★★★
()

я особо не помню, что такое webhook, но что-то такое мы делали. https://www.jenkins.io/blog/2018/05/16/pipelines-with-git-tags/

как-то вот так и делали:

stage('Deploy') {
            when { tag "dev-*" }
            steps {
                echo 'Deploying to dev stand'
                sh 'mvn -Pdev clean install tomcat7:deploy'
                
            }
        }
ну а в мавене ужо разруливали стенд

<profile>
			<id>dev</id>
			
			<build>
				<plugins>
					<plugin>
					
						<groupId>org.apache.tomcat.maven</groupId>
						<artifactId>tomcat7-maven-plugin</artifactId>
						<version>2.2</version>
						<configuration>
							<url>http://ns-dev01.xxx.dmz:8090/manager/text</url>
							<server>NsDev01Server</server>
							<path>/nscore</path>
							<update>true</update>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)