2017-04-05 1 views
-1

우리는 재무 애플리케이션을위한 자바 기반 고 가용성 서비스를 구축하고 있습니다. 저는 젠킨스 (Jenkins)를 이용한 지속적인 통합 관리 팀의 일원입니다.Jenkins와 Docker를 이용한 지속적인 배포

최근에 우리는 목록에도 지속적인 배포를 도입했으며 Docker 컨테이너를 선택했습니다.

  • 카산드라
  • Nginx에 제이보스의

    • 3 인스턴스 :

      생산 클러스터가 3 RHEL 기계는 그들 각각에 다음과 같은 고정 표시기 용기를 실행해야합니다 : 여기

      은 인프라입니다

    응용 프로그램은 Netbeans이고 소스 코드는입니다. 자식.

    현재이 인프라에서 수동 배포가 진행 중입니다.

    젠킨스와 함께 지속적인 배포 프로세스를 완료하는 데 사용하는 몇 가지 도구를 제안 해주십시오.

  • 답변

    0
    • jenkins가 jenkins 저장소로 이동할 때마다 트리거 할 수 있습니다. Webhook을 사용하면 도움이되는 플러그인이 있습니다. Gitlab-plugin은 Github 및 다른 git 솔루션과 유사한 솔루션이 있습니다.
    • bash 및 jenkins 구성에 크게 의존하는 대신 jenkins pipeline을 jenkins 파이프 라인 플러그인 또는 pipeline: multibranch plugin으로 설정할 수 있습니다. 이들을 사용하면 저장소에있는 그루비 코드 (jenkinsfile)로 빌드를 자동화 할 수 있으며, 플러그인을 사용하여 다른 플러그인과 함께 기능을 추가 할 수 있습니다.
    • 그러면 docker 파이프 라인 플러그인을 사용하여 docker 컨테이너를 쉽게 만들고 docker 이미지를 푸시하고 docker 컨테이너에서 코드를 실행할 수 있습니다.
    • 당신의 젠킨스 머신이 모든 다른 의존성이 설치되지 않았으므로 (따라서 충돌 버전 일 수도 있음) 도커 내부에 서비스를 구축 할 것을 제안합니다. 모든 의존성을 가진 도커 컨테이너를 사용하고 거기에 groovy의 도커 파이프 라인 플러그인으로 빌드 코드를 실행하십시오.
    • 도커 이미지를 밀어 넣고 끌어 올 레지스트리 솔루션을 설치하십시오.
    • Pipeline: Shared Groovy Libraries을 사용하면 jenkinsfile에서 라이브러리를 추출하여 다시 사용할 수 있습니다. 이러한 라이브러리 파일에는 젠킨스가 알고 있고 최신 상태로 유지하는 자체 저장소가 있어야합니다. 아마도 jenkinsfile에 매개 변수를 추가하는 여러 프로젝트간에 전체 파이프 라인 프로세스를 공유 할 수도 있습니다.

    많은 텍스트와 예제가 없습니다. 뭔가 흥미롭고 어떤 코드를보고 싶다면 그냥 물어보십시오. 나는이 모든 것을 현재 설정하고있다.

    +0

    답장을 보내 주셔서 감사합니다. 내 이해는 파이프 라인을 실행하는 것입니다, 나는 타겟 머신을 젠킨스 노드로 만들 필요가 있습니다. 이 올바른지? 젠킨스 마스터에 Docker를 설치해야합니까? –

    +0

    우리를 안내 할 수 있다면 매우 도움이 될 것입니다. 대부분의 시간은 기업 프록시 뒤에 있기 때문에 문제에 직면합니다. 설치가 어떻게 작동하는지보고 관심을 가질 것입니다. –

    +0

    docker 명령을 실행하려는 jenkins 컴퓨터에는 docker를 설치해야합니다.대상 기계는 젠킨스와 관련이 없어야합니다. 젠킨스에서 SSH로 새로 빌드 된 이미지를 가져 와서 도커 컨테이너를 실행할 수 있습니다. – herm

    관련 문제