CI 빌드를 수행하기위한 TeamCity 서버 설정이 있습니다. 저는 C # 솔루션을 빌드 및 테스트하고 일부 사용자 지정 MSBuild 작업을 실행하고 있습니다. 이 작업 중 하나는 빌드 출력에 경고를 인쇄하는 것입니다.
MSBuild 명령 줄 매개 변수에는 “/ property :”또는 “/ p :”매개 변수가 포함됩니다. 대신 빌드 매개 변수를 사용하십시오.
이것이 무엇을 의미하는지 또는 제거하는 방법을 이해하지 못합니다. 오타가 있든 없든 Google은 잘되지 않습니다. 명령 줄 ( /verbosity:diagnostic
) 에서 작업을 실행했는데 표시되지 않으므로 TeamCity 메시지라고 생각합니다.
MSBuild 작업은
<Target Name="InstallDb">
<MakeDir Directories="$(DbPath)" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseDrop.sql" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseCreate.sql -v DbPath="$(DbPath)"" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" />
</Target>
관련 TeamCity 단계 정보는
MSBuild 버전 : 4.0
MSBuild 도구 버전 : 4.0
실행 플랫폼 : x64
대상 : InstallDb
명령 줄 매개 변수 : /property:DbPath=%env.DB_PATH%
답변
구성 Build Parameters
에서 Properties and environment
변수 아래 에 추가 해야합니다.
`
그래서의 명령 라인 파라미터에 Build Step
MSBUILD 용으로 지정되는 임의의 속성을 제거 /p:
하고, 그 각각에 부가 Build Parameters
(상술 한 스크린 샷) 및 값을 수득
답변
모든 것이 뒤에서 일어난다! 올바른 규칙을 따르기 만하면됩니다. MSBuild 스크립트에서 일반 변수 표기법을 사용합니다.
$(DbPath)
TeamCity에서는 시스템 또는 환경 변수를 정의합니다.
system.DbPath
TeamCity는 ‘system’또는 ‘env’부분을 제거하여 모든 시스템 / env 변수를 MSBuild 작업에 자동으로 보냅니다. 그리고 /property:DbPath=system.DbPath
TeamCity 작업 을 작성할 필요가 없습니다 .