2012-12-13 2 views
0

우리는 PHP 나 .Net을 사용하는 웹 개발 샵입니다. 여기에 개발을위한 제안 된 경로입니다 :이것이 젠킨스의 적절한 사용인가요?

Developer -> SVN Server -> Jenkins Server -> Dev Server 
  1. 개발자가 커밋 또는 SVN 서버에 태그를 생성은
  2. 어느 커밋 또는 태그 비동기
  3. 은 젠킨스의 작업을 실행할 젠킨스에 작업을 트리거 SVN 서버에서 코드를 가져 오는 데브 서버에서 svn 업데이트 (또는 대상 공간을 지운 다음 svn 내보내기)를 실행하십시오.
  4. .Net 용으로 코드를 복사 한 후 aspnet_compile을 사용하여 컴파일해야합니다.

제 질문은 두 가지입니다. 젠킨스를 올바르게 사용하고 있습니까? 그리고 aspnet_compile.exe를 사용하여 .Net을 컴파일하려면 Microsoft OS에 슬레이브를 설치하는 것이 좋습니다. 이 프로젝트가 실행할 수있는이 제한

확인, 선택 슬레이브 :

는 답을 학습과합니다.

+0

소리가 난다. 특정 트리거 (커밋/태그)에서 Jenkins의 빌드를 시작하여 SVN 서버에서 소스를 가져오고 테스트를 실행하고 코드를 컴파일 한 다음 배포합니다. ANT 또는 Maven과 같은 빌드 프로세스를 사용합니까? Jenkins는 이러한 도구를 사용하여 프로세스를 완전히 자동화하도록 구성 할 수 있습니다. – thescientist

+0

@thescientist 빌드 프로세스 나 유닛 테스팅 (아직)이 없다. 바로 PHP 다. SVN 서버는 우리 아키텍처와의 접점이므로 적절한 파일에 파일을 저장해야합니다. – TekiusFanatikus

답변

3

이것은 상당히 표준 빌드/배포 워크 플로우와 같으므로 Jenkins를 잘 사용하지만 Jenkins 빌드의 일부로 4 단계를 수행 한 다음 Jenkins를 사용하여 Dev 서버에 컴파일 된 아티팩트를 배포하는 것이 좋습니다. 이렇게하면 Jenkins가 컴파일 문제를 빌드 실패로보고하고 Jenkins 작업의 일부로 컴파일 된 코드에 대해 @ thescientist의 설명에 따라 테스트를 실행할 수 있습니다.

Jenkins 마스터가 Windows 이외의 운영 체제에서 실행중인 경우 Windows 슬레이브를 사용하여 컴파일 할 수 있습니다. 배포를 쉽게하기 위해 dev 서버에서 슬레이브 프로세스를 실행할 수도 있습니다. 프로덕션 설치에는 권장하지 않지만 dev에 대해서는 괜찮습니다. 여기

당신을 도울 수있는 몇 가지 링크입니다 : 당신이 연속 배포 솔루션을 원하는처럼

Running Jenkins on Windows

Building ASP.NET code with Jenkins

Jenkins and PHP

+0

우리 주인이 리눅스에있을 것입니다. 이것은 MSBuild를 사용하는 Linux가 .Net을 컴파일 할 수 있다는 것을 의미합니까? 아니면 그것을 컴파일하려고하는 노예가 (Windows에서)? 그렇다면 어떻게 슬레이브에서 플러그인을 구성 할 수 있습니까? – TekiusFanatikus

+0

슬레이브가 컴파일을 수행하지만 MSBuild 플러그인 구성이 마스터에 설정됩니다. 슬레이브에 도구가있는 위치와 일치하는 MSBuild.exe 위치를 설정하기 만하면됩니다. –

+0

그냥 마스터에서 지적하기를 원한다. 나는 슬레이브에서 배치 파일을 호출한다. 이 배치 파일은 적절한 매개 변수를 사용하여 aspnet_compiler를 호출합니다. – TekiusFanatikus

관련 문제