0

현재 클라이언트에는 기존 ASP.Net 웹 사이트 프로젝트가 있습니다. 저는 빌드를 자동으로 버전 관리하는 과정에 있으며 Team City의 웹 사이트 프로젝트에서이 작업을 가장 효과적으로 수행하는 방법에 대해 궁금해하십니까?Team City에서 웹 사이트 프로젝트의 자동 버전 관리

현재 Team City의 % build.number % 변수 (프로젝트 빌드 템플릿을 통해 설정)를 빌드의 신뢰할 수있는 버전 번호로 사용하고 있습니다. 어셈블리를 생성하는 .NET 프로젝트의 경우 Team City에서 "AssemblyInfo Patcher"빌드 기능을 사용하는 것이 번거롭지만 어셈블리를 생성하지 않으므로 웹 사이트 프로젝트에는 적합하지 않습니다.

그래서 어떤 제안이 필요합니까? Powershell과 psake를 이미 빌드에서 사용하고 있으므로 % build.number %를 사용하는 스크립트를 만드는 것이 문제가되지 않습니다. 웹 사이트 프로젝트에 이것을 "좋은"방식으로 주입하는 방법에 대한 질문이 더 많습니다.

답변

0

필자는 몇 가지 해결책을 시도했지만 빌드하는 동안 Team City에서 설정 한 종속 어셈블리의 버전 번호를 사용하여 마감했습니다. 나는 어셈블리에 클래스를 추가 보인다 :

 
public class VersionUtils 
{ 
    private readonly ILog _logger;

public VersionUtils() { _logger = LogManager.GetLogger("VersionLogger"); } public string GetWebAppVerison() { string version = "unknown version"; var assembly = Assembly.GetAssembly(typeof(VersionUtils)); try { version = assembly.GetName().Version.ToString(); } catch(Exception ex) { _logger.Warn("Could not find or read version number from " + assembly.GetName(), ex); } return version; }

관련 문제