2014-12-05 2 views
0

나는이 문제에 대한 해결책을 찾으려고 많은 시간을 보냈습니다.Jenkins를 통한 Wildfly 배포

Jenkins에서 원격 Wildfly (Docker, Vagrant 등 없음)에 배포해야하며 배포 할 사람을 배포 할 사람을 선택해야합니다. 버전의 전쟁은 저장소 (Artifactory)에서 가져와야합니다. 또는 int는 그가 더 나쁜 경우에 svn 태그 및 빌드에서 계산합니다.

누구나 작동 예제가 있습니까?

+1

화물을 원격으로 Maven 작업으로 배포 할 수 있습니다. –

+0

wildfly의 샘플이 있습니까? 나는 어떤 – alex

+1

도 찾을 수 없었다. 나는 방금화물 웹 사이트의 예를 채택했다. –

답변

2

젠킨스에 배포해야하는 버전을 어떻게 정의 하시겠습니까?

http://blog.arungupta.me/2014/11/deployment-pipeline-javaee7-wildfly-arquillian-openshift-jenkins-techtip56/은 OpenShift에서 Jenkins를 사용하여 원격 WildFly에 배포하는 방법을 보여줍니다. 테스트가 통과되면 앱이 배포되고 그렇지 않은 경우 배포됩니다.

1) 젠킨스의 프리 스타일 작업을 만듭니다 경우 사람에

+0

시간 내 주셔서 감사합니다! 버전을 어떻게 정의 할 지 모르겠습니다. 어쩌면 parametrised 빌드를 사용하고 있을까요? 그러나 그럼에도 불구하고 전쟁을 어떻게 전개 할 것입니까? 이슈가 릴리스 플러그인을 사용하여 생성 된 전쟁 인 경우 (이것은 '일반적인'방법으로 메이븐과 함께 출시됩니다.) 어떻게 참조 할 수 있습니까? 릴리스를 생성 한 작업에서 참조 할 수 있습니까? 나는 정말로 길을 잃었다. 요구 사항이 비현실적입니까? 모든 사람들이 특정 릴리스를 어떻게 배포합니까? – alex

+1

Jenkins Workflow 플러그인을 사용하면 이러한 매개 변수를 정의 할 수 있습니다. http : // jenkins-ci를 살펴보십시오.org/content/workflow-plugin-10 –

+0

제가 살펴 보겠습니다. 어떻게 전개 부분을 해결할 수 있을까요? – alex

2

다른 내 솔루션은 다음 (최적이 아닌 어쩌면 있지만) 인이 필요합니다. '이 빌드는 매개 변수화 됨'을 선택하고 사용자가 작업을 실행할 때 사용자가 정의 할 문자열 매개 변수 (예 : VERSION)를 추가하십시오.

2) 빌드 단계 '이슈 분석자'(Repository Connector Plugin)를 추가하고 배포 할 이슈를 정의하십시오. 이것은 당신의 전쟁이 풀린 Artifactory Repository를 사용하여 의존성을 해결할 것입니다. '버전'입력란에 버전 매개 변수를 추가하십시오. $ {VERSION}. '대상 파일 이름'입력란에 전쟁 이름을 입력하십시오. 예 : test.war

3) 다른 빌드 단계 인 'Windows 배치 실행 명령'을 추가하십시오. 주의 : 환경 변수로 Jenkins 시스템에 jboss-cli가 있어야합니다.

형태이어야 실행 스크립트 :

JBoss에 cli.bat --connect --controller = IP : 관리 포트 --user = 관리자 --password = *** --commands = " deploy test.war --force "

누구나 내가 듣고 싶은 더 최적의 솔루션이 있다고해도, 이것은 저에게 효과적입니다. 예를 들어 사용자가 선택 상자에서 올바른 버전 (유효성 검사 안 함)을 쓰지 않고 배포 할 버전을 선택할 수 있다면 훨씬 더 흥미로울 것입니다.

관련 문제