2017-05-22 11 views
0

TFS 빌드를 사용하고 있고 TFS 빌드에서 프로젝트를 빌드하면 설치 파일도 생성됩니다. 예를 들어설치 파일을 TFS의 버전 번호가 지정된 폴더에 복사하십시오.

, 내 응용 프로그램 버전은 V1.2.3이다 설치 파일의 (그 assembly.cs 파일에서) 위치는 C : \ MyProject를 설치는 \ setup.exe를

잘 나는이 설치 EXE 파일을 복사 할 \ 다음 폴더

C에 : \ 제품 \ producta V1.2.3 \

그래서 난 그냥 "V1.2.3"라는 이름의 폴더를 만들 버전 번호를 얻을 필요가있다. 복사 및 creeating, 나는 배치 파일을 만들 수 있지만 버전 번호를 얻는 방법을 모르겠습니다. TFS에는 Build.SourceVersion 과 같은 몇 가지 변수가 있지만이 변수는 제품의 버전 번호를 제공하지 않습니다.

어떻게하면됩니까?

+0

"아티팩트 게시"를. 어느 시점에서 환경 변수로 설정하고 나중에 사용하면 (% versionnumber %와 같은 tfs를 통해 사용할 수 있음) 또는 대상 폴더에 복사하여 전체 스크립트를 작성해야합니다. – Greaka

+0

@Greaka 답장을 보내 주셔서 감사합니다. 문서가 있습니까? – ertan2002

+0

나는 어떤 것도 모른다. 우리는 비슷한 이슈를 가지고'call "% datapath % ResHacker.exe"를 통해 해결했습니다. -exract % exepath %, % inputfile %, VERSIONINFO ,, || goto : error' 배열 파일 – Greaka

답변

1

이렇게하려면 스크립트를 작성해야합니다.

1) 파워 쉘 스크립트는 "복사 사용할 수 후 현재 빌드

Write-Verbose -verbose "##vso[build.updatebuildnumber]$versionWithBuildId" 

에서 TFS 내부 빌드 번호)를 AssemblyInfo.cs

$myAssemblyVersion = major.minor.patch -> Read from assembyInfo.cs 
$versionWithBuildId = '{0}.{1}' -f $myAssemblyVersion, $Env:BUILD_BUILDID 

2

에서 빌드 번호를 읽어 업데이트하는 파일 "또는"이슈 게시 "단계를 수행하십시오. "파일 복사"와

Target Folder = "C:\products\producta\$(Build.BuildNumber)" 

는 스크립트를 직접 작성해야이를 위해

Artifact Name = "$(Build.BuildNumber)" 

Path = "C:\products\producta" 
+0

답장을 보내 주셔서 감사합니다. 아이디어를주었습니다. 버전 번호를 얻기 위해 스크립트를 작성하고 원하는 곳으로 복사했습니다. – ertan2002