릴리스 파이프 라인에 해당하는 YAML은 무엇입니까?

Aug 17 2020

저는 Azure DevOps를 살펴 봤는데 뭔가 궁금합니다. Microsoft는 고전적인 파이프 라인 대신 YAML 파이프 라인 사용을 강력히 권장하는 것 같습니다. 충분히 공평하지만, 클래식 파이프 라인에 있던 모든 기능을 대체해야합니다. "릴리스 파이프 라인"기능을 YAML 파이프 라인으로 대체하려면 어떻게해야합니까?

예를 들어 클래식 릴리스 파이프 라인을 사용하면 수동 트리거가있는 프로덕션에 배포 할 파이프 라인을 설정할 수 있습니다 ( '사용자가 수동으로'참조).

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/triggers?view=azure-devops#pull-request-triggers

이에 상응하는 YAML 파이프 라인은 무엇입니까? 나는 분명히 프로덕션에 자동으로 배포되는 트리거를 원하지 않습니다. 항상 해당 배포가 엄격하게 수동으로 시작되기를 원하지만 도움말 문서는 YAML 대안을 제공하지 않는 것 같습니다.

답변

1 LanceLi-MSFT Aug 18 2020 at 03:42

마찬가지로 다니엘은 위의 코멘트, YAML 파이프 라인은 CD에 대한 다단계 YAML 파이프 라인을 지원합니다. 자세한 내용 은 Azure DevOps Pipelines – Multi-Stage Pipelines 및 YAML for Continuous Delivery 를 확인할 수 있습니다 .

Azure devops yaml 다단계 파이프 라인과 클래식 릴리스 파이프 라인은 모두 CD에 사용할 수 있지만 약간의 차이가 있습니다. 그리고 내가 아는 것처럼 YAML 파이프 라인의 어떤 기능도 manual trigger클래식 릴리스의 기능과 동일 할 수 없습니다 .

현재 수동 트리거는 YAML 파이프 라인에서 지원되지 않습니다 . 이 토론을 참조 하세요 . 좋은 소식은 제품 팀이 기능 요청을 고려했으며 새 기능이 로드맵에 있다는 것 입니다. (아마 2020 년 3 분기 계획)

그곳의 팀에 따르면, 그들이 여기에서 생각하는 새로운 기능의 범위는 "항상 수동으로 시작"으로 스테이지를 표시 할 수있는 것입니다. 이 단계에 의존하는 다른 단계가 있으면이 단계가 실행될 때까지 계속 대기합니다.

manual triggerYaml 파이프 라인에서 기능이 구현 되기까지 잠시 기다려야 할 수 있습니다 . 새로운 기능이 귀하의 요구를 충족하기를 바랍니다.

AlexanderVolok Aug 18 2020 at 10:10

Microsoft는 해당 팀이 내부적으로 릴리스 흐름 분기 전략을 사용한다고 말합니다 . 릴리스 흐름 : VSTS 팀에서 분기를 수행하는 방법

릴리스 흐름은 릴리스를 트리거하기 위해 릴리스 브랜치를 생성해야 함을 의미하며, 다음과 같이 보일 수 있습니다.

릴리스 / 제품 이름 -sprint02

따라서 이러한 분기를 생성하면 수동 트리거 역할을 할 수 있습니다.

다단계 YAML 파이프 라인에서는 파이프 라인 실행이 릴리스 브랜치 컨텍스트 일 ​​때 트리거되도록 프로덕션 배포 단계를 코딩해야합니다 condition:.

${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/releases')

ps 비슷한 주제에 대한 최근 블로그 : Azure DevOps – YAML 파이프 라인 및 분기 전략