2011-12-18 3 views
2

파이썬을 사용하고 있다면 아마도 pip을 좋은 저장소 통합 및 스크립팅 기능을 갖춘 지속적인 배포 용 설치 프로그램으로 사용하고 싶을 것입니다.
Java와 비슷한 항목이 있으면 지속적으로 배포 할 때 유용 할 수 있습니까?자바로 계속 전달할 수있는 모든 것을 구축 할 수 있습니까?

누군가 자바에서 전체 연속 배포를 수행하는 방법을 추천 해 줄 수 있습니까?

복잡한 구성과 데이터베이스가있는 거대한 다중 클러스터가있을 것입니다. NOSQL (일부 프로젝트는 maven을 사용하고 다른 클러스터는 다운로드 한 pacakges) 등등 ... 누군가가 권장 사항을 가지고 있습니다. ?

다시 말하지만 핍이 아주 좋은 설치 프로그램이고 도움이 될 수 있다고 생각합니다. 누군가가 어쩌면 ubuntu juju의 경험이 있습니까?

그러나 우분투 주주를 사용하면 우분투 기반 서버와 센소스를 사용해야 할 것입니다.

+1

어쩌면 http://jenkins-ci.org/ – oers

+0

사용자 지정 스크립트 또는 capistrano/fabric과 같은 CI 서버가 도움이됩니다. [이 질문] (http://stackoverflow.com/q/183091/922954)을 참조하십시오. – aishwarya

답변

3

나는 완전히 명확하지 않다 무엇 핍는 않지만, 다음은 빌드 도구가 필요

CI/CD에 대한 내 툴체인입니다 : (

  • 메이븐을 다운로드 종속성을 포함하여 물건을 많이,하지 및 (XML에 괄호로 죽을 때까지 당신을 찌를 것)
  • ANT) 미친 당신을 운전
  • Gradle을 다른 사람들이 (ANT를 포함하여 거의 모든 사람들이 /가 저장소에서 의존성)을 다운로드 아이비을 사용할 수 있습니다 사용

0 당신은 CI 서버를

  • 젠킨스
  • 다양한 상업 옵션 (인 TeamCity, 대나무 ...) 당신의 응용 프로그램을 배포하는 당신이 뭔가를 필요로하는 배포의 경우

이 필요합니다. 이것은 실제로 사용하는 빌드 도구 (배포를 수행 할 수 있어야 함)에 달려 있습니다. Maven에는이 플러그인에 대한 몇 가지 플러그인이 있지만 사용자의 특정 요구에 맞는 솔루션을 찾기 위해 앱 서버와 빌드 도구에 대해 google을 사용해야한다고 생각합니다.

+0

감사합니다, 당신은 gradr 대 buildr 정교 할 수있는 기회? – Jas

+0

아니, 미안하지만, stackoverflow.com에 대한 좋은 질문이 될 것이라고 –

5

Java 앱 빌드와 Java 앱 배포 사이에는 일종의 밝은 선이 있습니다. Java에서 CI 빌드는 다양한 스크립팅 (Ant, Maven, Gradle 등), 지속적인 빌드 (Jenkins, Go, Anthill 등) 및 저장소 (Nexus, Artifactory 등)를 통해 매우 간단합니다. 라이브러리에 대한 종속성 관리는 Java 용 털복이이므로 Maven 또는 Ivy를 사용하십시오.

배포가 훨씬 더 성숙하고 덜 성숙한 세상입니다. 환경은 잠재적으로 훨씬 더 복잡하며 종종 관계형 데이터베이스와 같이 지저분한 Java 이외의 것을 포함합니다. 스크립트를 손으로 감거나 ControlTier 또는 Capistrano 또는 그와 비슷한 것을 사용할 수 있습니다 (여전히 손을 굴려야합니다).

2

아마 당신이 찾고있는 것은 배포 파이프 라인을 구축하는 것입니다. 다음 비디오 예제를 확인하십시오. http://www.youtube.com/watch?v=6CEQOuHM86Y 달성 방법은 여러 가지가 있습니다. 내가 좋아하는 것을 당신에게 말해줘.

구성 요소 당신이 필요합니다 :

  • 유물

    • VCS 서버 (SVN, 힘내)
    • CI 서버 (젠킨스, 허드슨, 인 TeamCity)
    • 빌드 도구 (메이븐, 개미, Gradle을)를 저장소 (Artifactory, Nexus)
    • 배포 도구 (Rundeck, Puppet, Deployinator, Capistrano)
    • 대상 환경/s (Tomcat과 같은 응용 프로그램 서버 JBoss는)

    워크 플로 : 변화 (즉, 커밋) 발견 변경

    2

    )에 대한

    1) CI 서버를 폴링 VCS 서버는 이슈를 (지고, 작업 실행을 시작합니다 CI 서버는 테스트를 컴파일하고 실행합니다.) CI 서버는 내부적으로 Maven과 같은 빌드 도구를 사용합니다.

    개발자/옵스가의 조합을 선택할 수 있습니다 배포 도구를 배포 할 아티팩트 저장소를 읽고 유물의 목록을 제공합니다

    4) 아티팩트 저장소 플러스, 대상 환경의 목록 3) CI 서버 업로드 이슈 선택한 서버에 이슈를 배포합니다.

    공구를 잡을 때 몇 가지 기준을 고려하십시오. 200 개 이상의 대상 환경과 같은 대규모 인프라가있는 경우 꼭두각시와 같은 강력한 솔루션이 적합합니다. 만약 당신이 겸손한 (말하자면, 10 Target Environment) Rundeck이면 충분할 것입니다. 또한 나열된 도구 중 일부는 무료가 아니라 (예 : 노드가 10 개 이상인 경우 Puppet Enterprise가 무료가 아님) 고려해야합니다.

  • 관련 문제