개발자 블로그

Azure DevOps Pipeline - 2. GUI(Classic Editor)로 만들기 본문

프로그래밍/DevOps

Azure DevOps Pipeline - 2. GUI(Classic Editor)로 만들기

로이드.Roid 2022. 7. 31. 17:00
✔ 참고

실제 운영환경에서는 GUI로 빌드 파이프라인을 생성하지는 않습니다. 따라서 이 페이지 내용은 그냥 가볍게 살펴보셔도 괜찮습니다.

 

Classic Editor vs YAML

  • 기본적으로 YAML을 사용해서 빌드 파이프라인을 작성하는걸 권장합니다.
  • 이름이 Classic Editor라서 이게 직접 스크립트를 작성하는 것 같지만, GUI 방식이 맞습니다.
  • YAML은 직접 스크립트를 작성하는 방식입니다.
  • YAML을 사용해야 좀 더 세부적인 내용을 건드릴 수 있어서 YAML 방식을 추천하는 것 같습니다.

 

일단은 돌려보자!

  • 백문이 불여일견! 일단 돌려봅시다.
  • 전 단계에서 "New pipeline" 버튼을 클릭하면 아래 화면이 표시됩니다.

  • 우리는 일단 GUI 방식으로 구축을 할 것이기 때문에 이미지 맨 밑에 보이는 "Use the classic editor" 항목을 클릭해줍니다.
  • 그럼 아래와 같이 소스코드를 가져올 repository를 선택하는 화면으로 넘어갑니다.

  • 본 예제에서는 git repository로 Azure Repos를 사용하고 있기 때문에 "Azure Repos Git"을 선택합니다.
  • 다른 git 저장소를 사용중이라면, 각자의 환경에 맞는 항목을 선택해주세요.
  • 각자의 환경에 맞는 Team project와 Repository 항목을 선택합니다.
  • 그리고 그 밑에 항목은 빌드를 수행할 브랜치를 선택하는 항목입니다. 개인적으로는 배포를 위한 브랜치를 별도로 생성해서 사용하고 있습니다. 아래는 그 예시입니다.
    • deploy : 유닛 테스트 과정을 수행하고 자동으로 빌드 & 배포
    • quick_deploy : 빠른 배포를 위해서 유닛 테스트 단계를 생략하고 빌드 & 배포
  • 선택이 모두 끝났으면 "Continue" 버튼을 클릭합니다.
  • 템플릿 선택 단계로 넘어왔습니다.

  • 이 튜토리얼에서는 안드로이드 앱 빌드를 예시로 사용하기 때문에 "Android"를 선택한 다음 "Apply" 버튼을 클릭합니다.

  • 빌드 파이프라인 구축이 모두 끝났습니다. (참 쉽죠?)
  • "Name" 항목은 파이프라인을 구분할 수 있는 이름으로 지정하고
  • "Agent Specification" 항목은 빌드를 돌릴 OS를 선택합니다. (mac, ubuntu, windows 지원)
  • 그 외 gradle wrapper 선택, tasks 입력란 등이 있는데, 일단은 기본값으로 두고 상단에 "Save & queue" 버튼을 클릭합니다.
  • 그럼 아래와 같이 Run pipeline 대화상자가 출력됩니다.

  • 여러 항목들이 있지만, 이 파이프라인을 실제로 사용할 것은 아니기 때문에 그냥 스킵하고, "Save and run" 버튼을 클릭합니다.
  • 그럼 우리가 만든 파이프라인이 아래 이미지와 같이 동작합니다.

  • 아래는 모든 작업이 완료 된 뒤의 스크린샷입니다.

  • ※ 실제 빌드 결과는 위 스크린샷과 다를 수 있습니다.

 

이걸로는 부족합니다...

  • 사실 위 파이프라인에는 몇 가지 문제가 있습니다.
    • 빌드 산출물(APK)를 배포하는 과정이 없고
    • 전체 빌드 시간이 20분 가량으로 속도가 매우 느립니다.
      • 동시에(병렬로) 실행 가능한 빌드 파이프라인 갯수에는 제한이 있기 때문에 속도가 오래 걸리는 것은 좋지 않습니다.
    • 또한, 본 문서에는 생략했지만, Gradle 버전에 따라 아래와 같은 빌드 에러가 발생할 수 있습니다.
      • Android Gradle plugin requires Java 11 to run.
  • 이제 YAML을 사용해서 파이프라인을 구축하면서 이러한 문제들을 개선해보겠습니다.

 

Comments