저는 teamcity에 프로젝트를 추가하고 PowerShell 스크립트를 추가하여 일부 구성 설정을 변경하고 압축 아티팩트를 생성해야합니다. Teamcity 외부에서 스크립트 파일을 빌드하고 테스트했지만 구축 중에 작동하게하려면 이슈가 빌드 된 경로를 얻어야합니다.teamcity 이슈 PathTeamCity를 powershell 스크립트에 삽입하십시오.
c:\artifacts\myproject\build\38
아래의 코드에서 항상 최신 빌드 디렉토리를 선택하는 teamcity 매개 변수로 바꿀 수 있습니까?
#Find and replace various app.config settings
$location = C:\Artifacts\MyProject\Build\38\myApp\myConfig.config";
(Get-Content $location) |
ForEach-Object { $_ -replace '<add key="platform" value="xxxx"/>', '<add key="platform" value="test"/>' } |
Set-Content $location
#Should take source directory and create a zip file from it
$source = "C:\Artifacts\MyProject\Build\38\myApp\"
$destination = "C:\Artifacts\FrontOfficeApi\Build\38\artifact.zip"
GenerateZipFile -DestinationFilePath $destination -SourcePath $source
많은 감사
응답 해 주셔서 감사합니다. 필자가 결정한 것은 teamcity.build.checkoutDir의 값을 실제 파일로 출력하려고 시도하는 것입니다. 이것은 몇 가지 이유 때문이었습니다. 1. 팀워크가 어떻게 작동하는지에 대한 내 자신의 지식과 2. 시작하는 데 훨씬 간단한 스크립트입니다. – kcis8rm
그러나 PS 빌드 단계를 추가하고 빌드를 실행하면 호환 빌드 에이전트가 없다는 오류가 발생합니다. 새로운 단계를 사용 중지하면 빌드가 정상적으로 실행되었습니다. 설정은 다음과 같습니다 : Powershell 실행 모드 : 임의, Bitness : x86, 스크립트 : 소스 코드, 스크립트 : $ buildDirectory = "% teamcity.build.chec koutDir %" $ buildDirectory | Out-File c : \ debug.txt. 스크립트 실행 모드 : 외부 파일에서 .ps1을 실행합니다. 어떤 충고라도 감사 할 것입니다. – kcis8rm