2017-11-14 1 views
0

특정 폴더의 특정 분기에 gerrit 변경 사항이있을 경우 Teamcity가 빌드를 트리거하도록합니다. 나는 동일한 것을 성취 할 수 없으며, 경험이 많은 모든 사용자로부터의 제안은 크게 감사 할 것입니다.Git VCS 트리거의 특정 폴더에 Teamcity 트리거를 설정하는 방법

다음은, 내가 빌드가 지점 dev에 & 준비 모두의 트리거하려는처럼 내 구조는 모습입니다 만이 아니라 다른 엿 먹어에 새로운/폴더/My_Content에서 변경, 파일 내용

- Branch dev 
    --Repo 
    * New/Folder/My_Content 
    * Folder 2 
    * Folder 3 
    * File1.txt 
    * File1.html 
    * File1.log 

- Branch Staging 
    --Repo 
    * New/Folder/My_Content 
    * Folder 2 
    * Folder 3 
    * File1.txt 
    * File1.html 
    * File1.log 

이 내가 필요로하는 하나에서 떨어져 모든 폴더에

VCS root name: my_root 

set on branches 

+:refs/(changes/*) 
+:refs/heads/dev 
+:refs/heads/Staging 

VCS Trigger rules: 
+:root=my_root:New/Folder/My_Content/** 
Branch filter: 
+:changes/* 

항상 트리거가 모든 것을 토대로 위의 규칙을 시도한 것입니다.

두 번째 질문은 VCS 트리거 규칙에서 매개 변수를 사용할 수 있습니까? 다음과 같습니다.

VCS Trigger rules: 
+:root=my_root:New/Folder/%my_var%/** 
Branch filter: 
+:changes/* 

답변

1

당신은 당신이 트리거하고 당신이 실행하는 데 필요한 파일 경로를 지정하려는 지점 devStaging에 대한 두 VCS 뿌리를 추가해야합니다. 아래 상세 설정 : 버전 제어 설정 탭에서

  • , 별도로 두 VCS 뿌리 추가

    먼저 VCS 루트 이름이 <repo URL>+:refs/heads/dev입니다, 기본 분기는 refs/heads/dev입니다.

    두 번째 VCS 루트 이름은 <repo URL>+:refs/heads/Staging이고, 기본 분기는 refs/heads/Staging입니다.

    enter image description here

    VCS 체크 아웃 모드의 경우는 Always checkout files on agent을 선택하고 는 기본 분기 빌드 허용을 선택 할 수 있습니다 아래

    는 예 VCS 루트 구성입니다. enter image description here

  • 는 트리거 탭에서 +:New/Folder/My_Content/**으로 트리거 규칙을 설정합니다.

    enter image description here

    자세한 정보를 원하시면
+0

감사합니다, 나는 을이을 시도 할 것이다 그러나 두 가지가에서 모니터링, 그래서 사실은, 하나의 VCS 루트에서 가지를 모두 사용하기 위해 노력하고있어 같은 시간이지만 변경 사항이 감지되면 트리거를 기반으로 한 분기 만 체크 아웃됩니다. – Jose

관련 문제