Azure DevOps, YAML 릴리스 파이프 라인? [닫은]


85

.NET Core Web API 프로젝트에 대한 YAML 빌드 파이프 라인을 생성하기 위해이 프로세스를 따르고 있습니다.

https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts

릴리스와 관련하여 (최근 이름이 변경된) Azure DevOps가 릴리스 파이프 라인 정의를 위해 YAML을 지원하지 않는 것 같습니다. 그러나 배포 작업이 정의 된 것을 볼 수 있습니다. 예 :

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=vsts

YAML을 지원하기 위해 릴리스 파이프 라인 기능에 대한 업그레이드를 기대하고 있습니까? 그렇다면 언제입니까?


곧 빌드 2019에서 : youtube.com/watch?v=ORy3OeqLZlE 다단계 파이프 라인 (및 릴리스 YAML)이 이제 미리보기로 제공됩니다. 미리보기 기능 메뉴 항목에서 활성화합니다.
nullforce

2
누군가이 질문이 주제에서 벗어난 이유를 이해하는 데 도움을 줄 수 있습니까? 나에게는 stackoverflow에 대한 좋은 질문처럼 보입니다.
Tobske

답변:


58

이 응답을 작성할 당시 기능 타임 라인은 yaml 릴리스가 2018 년 3 분기에 출시 될 예정임을 반영합니다.

https://docs.microsoft.com/en-us/azure/devops/release-notes/

업데이트 : 이것은 몇 번 충돌했습니다. 사람들이 찾은 업데이트를 제공하고 있으므로 아래 댓글을 확인하는 것이 좋습니다.

최신 정보

댓글에 따라 이제 가능합니다 : https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/ . 다음은 기사에서 복사하여 붙여넣고 다양한 단계를 사용하여 보여줍니다.

stages:
- stage: Build
  jobs:
  - job: Build
    pool:
      vmImage: 'Ubuntu-16.04'
    continueOnError: true
    steps:
    - script: echo my first build job
- stage: Deploy
  jobs:
    # track deployments on the environment
  - deployment: DeployWeb
    pool:
      vmImage: 'Ubuntu-16.04'
    # creates an environment if it doesn’t exist
    environment: 'smarthotel-dev'
    strategy:
      # default deployment strategy
      runOnce:
        deploy:
          steps:
          - script: echo my first deployment

9
이제 2018 년 4 분기 기능입니다.
sschoof


6
어제 트위터를 통해 연락을 드렸습니다. YAML 릴리스 정의는 3 월 말까지 비공개 미리보기로 들어갈 예정이며 현재 작업 중입니다. twitter.com/gopinach/status/1088320931745935360?s=21
rh072005 19

5
이것을 추적하는 최신 작업 항목 -dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1364226
antmeehan


6

YAML 빌드 파이프 라인 생성 환경은 미리보기로 제공됩니다. (오늘은 2018-12-04)

릴리스 파이프 라인을 위한 YAML은 여전히 멀어지는 것처럼 보입니다 : 2019 년 2 분기

다음과 같이 프로필에서 미리보기 기능을 활성화 할 수 있습니다.

프로필 메뉴

YAML 기능

편집 : nullforce가 주석에서 지적했듯이 이는 릴리스 파이프 라인이 아닌 빌드 파이프 라인에 대한 YAML 환경 만 활성화합니다.

업데이트 (2019-05-16) : Microsoft의 "Build 2019"에 따라 이제 동일한 YAML 파이프 라인 파일에서 빌드 및 배포에 대한 전체 YAML 환경을 사용할 수 있습니다.


3
이 질문은 빌드 파이프 라인이 아니라 릴리스 파이프 라인에 대한 질문입니다. 표시 한 미리보기 기능은 빌드 파이프 라인 YAML 만 켭니다.
nullforce

@nullforce 감사합니다. 내 답변에 수정 사항을 추가했으며 릴리스 파이프 라인에 대해 활성화되어 있거나 yaml이 미리보기에서 나올 때 최신 상태로 유지하려고 노력할 것입니다.
Jim Wolff

1
아직 사용할 수 없습니다.
ATL_DEV

@ATL_DEV는 상태에 대해 자세히 설명하거나 이에 관한 리소스 링크를 통해 답변을 수정할 수 있습니다. 나에게 그것은 사용 가능한 것 같습니다 : docs
Jim Wolff

@Jim Wolff-- Microsoft는 거짓말 쟁이입니다! 릴리스 및 배포 부분은 엉성한 UI를 통해서만 구성 할 수 있습니다.
ATL_DEV

5

제품 팀에서 작업 중입니다. 릴리스 정보를 통해 업데이트를 추적 할 수 있습니다 .


1
"The Product Team"은 1 년이 지나도 아무것도하지 않았습니다. Azure Dev Ops UI는 여전히 끔찍하고 배포에 대한 yaml 지원이 있으며 모든 빈 약속에도 불구하고 여전히 존재하지 않습니다. 설명서는 존재하지 않으며 네트워크 전체에 흩어져 있습니다. Azure Dev Ops는 사용하기에 큰 악몽입니다! Microsoft는 할 일을 찾아야합니다.
ATL_DEV

기술적 정확성을 위해-2019 년 11 월에 배포에 대한 YAML 지원이 "여전히 존재하지 않는다"고 언급 한 댓글에도 불구하고 실제로 2019 년 5 월에 Azure DevOps (공백 없음)에 추가되었습니다. 기타 답변 및 댓글이 더 많이 들어갑니다. 이 글을 읽는 사람이 잘못된 생각을 갖게하고 싶었습니다.
MikeBaz-MSFT

안녕하세요, 스타 리안이 질문에 대답 할 수 있습니까? stackoverflow.com/questions/64546693/…
alansmith4785

4

지금 바로 이와 같은 작업을 진행 중이지만 현재 REST API를 사용하고 있습니다. 여기서 문서화 한 것과 유사한 작업을 수행하고 있습니다 ( VSTS에서 릴리스 정의를 어떻게 가져 옵니까? ). 기본적으로 템플릿 JSON 릴리스 파이프 라인 파일을 변수 자리 표시 자와 포함 된 버전 번호와 함께 소스 코드 저장소에 저장하고 있습니다. 그런 다음 Azure DevOps를 호출하는 PowerShell 스크립트가 있습니다 (긴 단어입니다. VSTS 입력을 선호했습니다. AD 입력을 시작할 수도 있음).

  • 릴리스 파이프 라인을 확인하는 REST API가 존재합니다.
  • 존재하지 않는 경우 생성-작동
  • 포함 된 버전과 업데이트를 비교하고 필요한 경우 (여기에 갇혀 있지만 해결하겠습니다. 업데이트중인 파이프 라인이 변경되었지만 변경되지 않았다는 오류를 반환합니다.)

더 이상 유사한 릴리스 파이프 라인을 수동으로 수정할 필요가 없도록 빌드 파이프 라인 중에이 작업을 실행하고 싶습니다. 나는 이것이 YAML 파일도 선호하지만 이것이 오늘 내가 가지고있는 것입니다. 이게 도움이 되길 바란다.


1
나는 막혔고 UPDATE 프로세스에 대한 내 작업 노력을 중단했습니다. 왜? 릴리스 정의 json 템플릿에는 각 빌드 단계에 대한 ID가 있습니다. 릴리스 파이프 라인이 생성 될 때 ID는 특정 번호 여야합니다. ID 번호는 생성 후 변경됩니다. 따라서 릴리스 파이프 라인을 업데이트 할 때 더 이상 "새"단계 ID 번호를 사용할 수 없습니다 (처음 릴리스 파이프 라인을 만들 때 예약 됨). 대신 현재 유효한 단계 ID를 사용해야합니다.
Antebios

따라서 실제 프로세스는 다음과 같아야합니다. 업데이트 프로세스의 경우 릴리스 정의를 다운로드하고 템플릿과 비교하고 다운로드 한 릴리스 정의를 업데이트 한 다음 다시 VSTS로 업데이트합니다. 아휴! 즉, 나만의 비교 프로세스와 오류 검사를 작성해야합니다.
Antebios

사실, 새 릴리스 정의 (POST)의 경우 id속성을 무시할 수 있습니다 id. 릴리스 def 개체의 경우 모든 environment개체를 무시할 수 있습니다. rank속성 설정으로 충분해야합니다 (다른 필수 항목과 함께). POST 호출은 자동으로 생성되어야합니다. 응답 개체의 ID 및 반환. 릴리스 정의가 생성되면 조직의 모든 정의를 가져 오기 위해 LIST릴리스 정의에 대해 수행 할 수 있습니다. GET 호출은 여기
난독 화

-4

파이프 라인은 하나 이상의 작업으로 구성되며 리소스와 변수를 포함 할 수 있습니다. 작업은 하나 이상의 단계와 일부 작업 별 데이터로 구성됩니다. 단계는 작업, 스크립트 또는 외부 템플릿에 대한 참조 일 수 있습니다. 이것은 YAML 파일의 구조에 반영됩니다. 자세한 내용은 여기 를 참조하십시오.


5
게시물에 서명을 추가하지 마십시오. 스팸으로 간주 될 수 있습니다.
Zoe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.