2016-06-02 3 views
1

저는 Spinnaker를 실험하기 위해 사용하고있는 an example web app을 가지고 있습니다. 구체적으로 소스 (github)에서 프로덕션 (GCE)으로 가져 왔습니다.Spinnaker를 사용하여 웹 응용 프로그램을 굽는 방법?

일반적으로 이미지로 구워 져야하는이 항목 (적용 가능한 종속성 포함)이 있습니까? 그렇다면 어떻게? 문서와 사용 가능한 UI 옵션은 deb 패키지에만 적용되기 때문에.

이 내용을 구워서는 안되면 QA VM에이 종속성과 종속성을 어떻게 배포 할 수 있습니까? 원본을 가져 와서 설치하는 스크립트를 사용해야합니까?

답변

5

일반적인 시나리오는 jenkins와 같은 CI 시스템을 사용하여 소스를 빌드하고 제작/게시하고 해당 deb에서 종속성을 선언하도록하는 것입니다.

사용중인 빌드 시스템에 따라 deb 생성을위한 옵션이 많이 있습니다. 많은 사람들이 grad과 neflula (https://nebula-plugins.github.io/)라는 Netflix OSS 플러그인을 사용합니다.

여기에 포괄적 인 튜토리얼이있다가 (http://www.spinnaker.io/docs/from-source-to-prod)는 그 방법을 보여줍니다 - 자식의 환매 특약에 소스와 함께 시작하고 (로컬 적절의 repo에) 젠킨스와 뎁을 게시/ 을 구축 - 구워하는 스피 니커 파이프 라인을 트리거하도록 새로운 이미지, 그리고 테스트 클러스터 에 배포 - 일부 수동 판단 수행 - 테스트 클러스터에서 방금 확인 이미지를 찾아 그 코드 랩의 개념은 대부분 일반적인하는 동안 자극 클러스터

에 홍보가 않습니다 통조림 GCE 이미지를 사용하여 구성없이 시작하고 실행할 수 있습니다. GCE를 사용하고 있다고 언급 한 것처럼 잘 해결 될 것입니다.

다른 굽기/배포 전략을 사용할 수도 있지만 (일부 사람들은 시작시 설정 관리 시스템에 의존합니다), deb을 만들고 이미지로 굽는 것이 가장 이상적이라고 생각합니다.

웹 앱을 새로 구운 이미지에 복제하는 것이 정말로 원하는 경우 사용자 정의 패커 템플릿을 만들어이 작업을 수행 할 수 있습니다. 패커 템플릿은 모두이 디렉토리 (https://github.com/spinnaker/rosco/tree/master/rosco-web/config/packer)에 있으며, (https://github.com/spinnaker/rosco/blob/master/rosco-web/config/packer/gce.json)을 시작점으로 사용할 수 있습니다.

그런 다음이 줄 (https://github.com/spinnaker/rosco/blob/master/rosco-web/config/packer/gce.json#L33)을 변경하여 사용자 고유의 셸 스크립트를 호출하십시오. 셸 스크립트는 필요한 모든 repo를 복제하고 원하는대로 빌드/테스트 할 수 있습니다. packer를 사용하기 때문에 여기에서 packer의 다른 지원되는 제공자를 사용할 수도 있습니다. 뎁로 포장하는 것은 매우 흥미로운 enter image description here

+0

을 :

마지막 단계는 (있는 경우)가 필요 어떤 매개 변수와 함께 구워 스테이지 구성 UI에 새 사용자 정의 포장 템플릿을 지정하는 것입니다. 나는 그것에 대한 경험이 없지만 다른 빌드를 추적하는 것에 대한 버전 지정과 개인 레포가있는 것 같습니다. 나는 길을 따라 젠킨스를 사용하고 있으므로 여러분이 설명한 흐름과 일치합니다. 나는 이것에 대해 더 자세히 살펴보고 대답을 받아 들일 것입니다. 고맙습니다. –

관련 문제