2012-12-07 2 views
2

TeamCity는 여러 웹 응용 프로그램, 콘솔 응용 프로그램 및 winform 응용 프로그램을 포함하는 전체 설치 프로그램 패키지를 작성합니다. 그것은 응용 프로그램 제품군을 구성합니다. 이러한 각 응용 프로그램에는 고유의 Mercurial 저장소가 있습니다.TeamCity 7.x는 빌드 릴리스 노트에서 커밋 메시지를 수집합니다.

우리가 할 수있는 일은 자동으로 각 버전에 대한 릴리스 정보를 제공하는 것입니다. TeamCity는 이미 빌드의 변경 사항을 가리키면 웹 인터페이스에 Mercurial 커밋 메시지를 표시합니다. 어떻게 든 빌드 중에 메시지를 캡처하여 에이전트 작업 폴더의 텍스트 파일로 추출 할 수 있습니까?

답변

2

TeamCity에 대해 잘 모릅니다. 그러나 저는 약간의 소프트웨어 커밋을 가져 와서 간단한 히스토리 로그로 포맷하는 간단한 방법이 있습니다. 아마 당신은 이것을 취해서 당신의 필요에 맞게 수정할 수 있습니다. 그것은 단지 수은 명령만을 사용합니다. 그래서 당신은 빌드의 의존성으로 그것을 추가 할 수 있습니다. (명령을 실행하는 VC++ 프로젝트의 빌드 후 단계가 있습니다. 텍스트 파일).

나는 간단한 템플릿과 같이 있습니다

$ cat history.template 
changeset = '{tags} {rev}\t{desc|fill68|strip|tabindent}\n' 
start_tags = '\n' 
tag = '{tag},' 
last_tag = '{tag} : {node|short} @ {date|shortdate}\n' 

내가 가능한 기록 로그를 만들려면 다음 hg 명령을 사용할 때 :

hg log --style history.template -r "reverse(::.) & !desc('Added tag')" 

이 명령은 모든 조상의 의견을 커밋한다 작업 디렉토리는 태그가 생성 된 날짜와 함께 태그와 변경 세트 해시를 출력 한 다음 모든 관련 변경 사항을 출력합니다. 다음은 테스트의 repo의 예 hg log -G 출력이 defaultrelease 가지 보여 : 당신은 몇 가지 설명을 좋아하면

0.0.5 : d0869f1c84ba @ 2012-11-22 
18  Releasing 
17  Made the last change 
16  Made some changes using "record" 

0.0.4 : c316b232c95c @ 2012-11-13 
14  Merging, eh? 
13  Modified revset selection for logging 
12  When logging history select only ancestors of the working directory 
11  Added history logging 
... 

코멘트를 추가

@ 21[tip]:18 c676cfe95284 2012-12-12 10:12 +0000 rob 
| Added tag 0.0.5 for changeset d0869f1c84ba 
| 
| o 20 7618cafcfc5d 2012-11-26 17:23 +0000 rob 
| | More changes indeed 
| | 
| o 19:17 ffc8bef85a2e 2012-11-26 17:22 +0000 rob 
| | Some additional files were needed 
| | 
o | 18[0.0.5]:15,17 d0869f1c84ba 2012-11-22 17:25 +0000 rob 
|\| Releasing 
| | 
| o 17 a41d817184ea 2012-11-22 17:25 +0000 rob 
| | Made the last change 
| | 
| o 16:13 e790e9022e70 2012-11-22 17:24 +0000 rob 
| | Made some changes using "record" 
| | 
o | 15 15f21a6f554a 2012-11-13 17:03 +0000 rob 
| | Added tag 0.0.4 for changeset c316b232c95c 
| | 
o | 14[0.0.4]:10,13 c316b232c95c 2012-11-13 17:03 +0000 rob 
|\| Merging, eh? 
| | 
| o 13 ba00c7045a23 2012-11-13 17:02 +0000 rob 
| | Modified revset selection for logging 
... 

표시되는 템플릿과 명령을 다음 출력 명령 행 또는 템플리트.

+0

감사합니다. icabod. 확실히 올바른 방향의 포인터입니다. 확신 할 수는 없지만 소스 제어에서 변경 사항을 찾는 경우 TeamCity 빌드 프로세스에 이와 같은 명령을 포함시킬 수 있다고 생각합니다. 내가 생각해 낼 수 있다면 덧글/답변을 추가하겠습니다. –

+0

내가 말했듯이 TeamCity에 대해서는 잘 모르기 때문에이 명령을 VC++의 릴리스 빌드에 포함 시키십시오. 수증기가 많은 템플릿을 사용하면 많은 것을 할 수 있으므로 그걸 가지고 노는 것이 좋은 출발입니다. – icabod

+0

@AlesPotocnikHahonina이 게시물에 대한 해결책을 찾았습니까? –