2014-09-30 3 views
1

빌드가 완료되면 배포 도구에 사용할 XML 파일을 생성하려고합니다.젠킨스로 빌드 매개 변수를 기반으로 파일 생성

<Settings> 
    <Version>${BUILD_NUMBER}</Version> 
    .. 
</Settings> 

템플릿 내 프로젝트 (A .NET 솔루션) 내에 존재하고, 응용 프로그램을 한 번 클릭으로 프로젝트를 배포하는 데 사용됩니다 XML 파일의 템플릿은 다음과 같이한다. Jenkins가 빌드 번호를 템플릿 파일로 푸는 방법을 알아 내려고 노력 중이므로 명령 줄 Exec 태스크를 사용하여 응용 프로그램에 피드를 제공 할 수 있습니다.

템플릿에서 파일을 생성 할 수있는 플러그인이 있습니까? 이 작업을 수행하는 데 사용할 수있는 다른 방법은 무엇입니까?

+0

당신은 파일 검색-N-대체 명령 줄이 필요합니다. 자신이 어떤 환경에 있는지 나타낼 때까지는 더 이상 말할 수 없습니다. 심지어 Ant를 사용하여 토큰을 대체 할 수 있습니다. – Slav

+0

@Slav 명령 줄 실행 작업에 의지 할 필요가 없길 바랬습니다. 나는 마스터 (2 명의 빌더)와 RHEL의 슬레이브 (2 명의 빌더와 함께)에서 마스터 설정을 얻었다. MSBuild 플러그인을 사용하여 사용자 지정 msbuild 파일을 사용하여 프로젝트를 빌드하고 있습니다. 환경에 대해 더 많이 알고 싶습니까? –

+0

이미 설치 한 MSBuild 커뮤니티 작업 패키지에서 FileUpdate 작업을 사용할 수있는 것처럼 보입니다. –

답변

2

Jinja2가 잘 작동하는 것으로 나타났습니다. 강력한 필터가 있지만 기본 템플릿도 처리 할 수 ​​있습니다. 덧붙여서, Jinja2는 Ansible에서 사용하는 템플릿 메커니즘입니다.

Jinja2를 설치하려면 (사용 가능한 일부 파이썬 2.6+ 도구가 가정) :

pip install Jinja2 

또는 this post에서

easy_install Jinja2 

을, 당신은 Jinja2 라이브러리에 대한 명령 행 래퍼를 얻을 수있는 I 아래에 간단히 표시 :

curl -LO https://bitbucket.org/tebeka/pythonwise/raw/31769f04bac832f8d781827f55ad6cc4d4ef3c07/jj2.py 
chmod u+x jj2.py 

그런 다음 jinja 템플릿 파일을 설정하십시오.

<Settings> 
    <Version>{{BUILD_NUMBER}}</Version> 
    .. 
</Settings> 

을하고 젠킨스 작업이를 사용 : LL은) descriptor.j2 빌드

jj2.py -v BUILD_NUMBER=${BUILD_NUMBER} build-descriptor.j2 > build-info.xml 
관련 문제