2017-04-27 2 views
0

저는 개발자가 아니지만 지금은 CI/CD에 대해 읽고 있습니다. 이제 자동화 된 코드 배포에 대한 우수 사례가 궁금합니다. 지금까지 기존 환경에 코드를 배포하는 것에 대해 많은 것을 읽었습니다.CI/CD : 환경 배포 원칙

이제 내 질문에 예를 들면 다음과 같이 사용하는 것이 좋습니다. 새 빌드를 만들 때 처음부터 환경을 배포하는 Jenkins 워크 플로입니다. 예를 들어 새로 생성 된 빌드를 테스트하는 경우, 테스트 후 환경을 다시 삭제합니다.

AWS, Azure 등과 상호 작용할 수있는 다양한 플러그인이있어 가상 시스템 배포 작업을 개발하는 데 사용할 수 있습니다. 또한 인프라 스트럭처 오케스트레이션을 호출하기위한 플러그인이 있으며, 인프라 스트럭처를 구현하기 위해 퍼핏을 트리거하는 플러그인 (코드로)이 있습니다. 코드를 배포하기 전에 인프라와 미들웨어를 배포 할 수있는 모든 기능을 사용할 수 있습니다 (물론 약간의 노력이 필요함).

실생활에서 사용되는이 제품입니까? 어떻게 된거 야?

내 질문의 배경은 가능한 한 적은 수의 클릭으로 개발의 완전 자동화에 대한 나의 관심이며, 유휴 상태의 기계를 보유하지 않음으로써 사용 당 비용 (pay-per-use) 모델로 비용을 절감합니다.

답변

0

이제 내 질문에 예를 들어. 새 빌드를 만들 때 환경을 처음부터 배포하는 Jenkins 워크 플로

예 처음부터 환경을 배포하는 것이 좋습니다. Jenkins와 Jenkins 파이프 라인은 특정 요구 사항에 따라 프로세스를 시작하고 조정하는 데 확실히 도움이 될 수 있습니다. 전체 환경을 처음부터 배포하는 것은 자동화하기가 가장 힘든 작업 중 하나이며 자동화 된 경우 인프라, 응용 프로그램 배포, 응용 프로그램 구성 등과 같은 많은 다른 것들도 자동화된다는 것을 의미합니다.

실생활에서 사용되는이 제품입니까?

예. 많은 상점들이 이것을합니다. 환경이 간단할수록 쉽기 때문에 하나의 백엔드 응용 프로그램을 사용하는 시작 프로그램은이 valhalla 상태를 달성하는 데 거의 문제가 없습니다. 그러나 수백 가지 상호 의존적 인 응용 프로그램을 사용하여 가장 복잡한 환경을 만들조차 완전히 자동화 될 수 있습니다. 단지 더 많은 시간과 노력이 필요합니다.

내 질문의 배경은 가능한 한 적은 클릭으로 개발의 완전 자동화에 관심이 있으며 유휴 머신을 사용하지 않음으로써 유료 모델에서 비용을 절감합니다.

예. "스핀 업 및 파괴"전략은 모든 호스팅 모델에 이점을 제공합니다 (완전 자동화 후 어느 누구도 수동으로 환경을 제공 할 때까지 기다리지 않아야 함). 그러나 공용 클라우드를 사용하는 사람들은 비용 측면에서 더 큰 이점을 보게됩니다 예를 들어 AWS 환경을 그대로 두는 것).

감사합니다.

문제 없습니다. 나는이 질문이 stackoverflow의 질문에 맞지 않고 스위트 스팟 슈퍼가 잘 된 것으로 조언 할 것이다. 꽤 일반적인 것이기 때문에.앞으로 개발자와 대화하고, 이런 종류의 일에 흥분하는 사람들을 찾고, 모든 것이 잡초에 갇혀있을 때 더 구체적인 질문을 만들 것을 권합니다. stackoverflow에 오신 것을 환영합니다!

0

모두 다양한 조합으로 사용되고 있습니다. 목표는 최종 사용자에게 지속적인 가치를 제공하는 것입니다. 내 두 센트 : 그것은 당신이 사용중인에 따라 달라집니다

빌드 & 출시 . 개인적으로이 도구로 사용할 수있는 것을 사용하는 것이 좋습니다. 예를 들어 VSTS (Visual Studio Team Services)는 완벽한 CI/CD 파이프 라인을 제공합니다. 그러나 Jenkins에서만 제공 할 수있는 고유 한 요구 사항이있는 경우이를 사용해야하며 VSTS는 기본적으로 제공합니다.

IAC (코드와 같은 인프라) 또한 등 꼭두각시하기 위해 구축하고 환경을 파괴하는 (푸른 리소스 관리자) 템플릿을 AZURE ARM의 이점을 취할 수 있습니다. 다시 말하지만, 가지고있는 도구 세트로 구입 가능한 제품을 확인하십시오.

유료 사용을 개인적으로 사용하고 무엇 는 푸른 개발/테스트 연구소 및 CI/CD 파이프 라인을 통해 자료를 배포 코드를 가지고있다. 나중의 설정 VM에 대한 종료 정책으로 제공되는 시간에 따라 자동 시작 및 자동 종료됩니다. 이는 사용중인 리소스 및 복제 환경에 대한 비용을 절감 할 수있는 훌륭한 기능입니다.

예를 들어 QA가 사인 오프되어야 UAT 환경이 필요하지 않을 수 있습니다. 그러나 IAC를 사용하면 환경을 신속하게 자동으로 시작한 다음 한 번의 클릭으로 UAT에 코드를 배포 할 수 있습니다.