30. Azure 파이프라인을 사용하여 지속적인 통합 작동시키기
<참조> https://azuredevopslabs.com/labs/azuredevops/continuousintegration/
이번 글에서는 Azure DevOps에서 지속적인 통합이 이루어지도록 구성하는 방법에 대해 살펴 보고자 한다. |
개요
이 랩에서는 Azure Pipelines의 빌드 및 릴리스를 사용하여 애플리케이션에 대해 CI(Continuous Integration) 및 CD(Continuous Deployment)를 구성하는 방법을 배운다. 이 스크립트 가능한 CI/CD 시스템은 웹 기반 및 크로스 플랫폼으로, 정교한 워크플로우를 시각화하기 위한 현대적인 인터페이스를 제공한다. 이 랩에서 모든 플랫폼 간 가능성을 보여주지는 않지만 iOS, Android, Java (Ant, Maven 또는 Gradle 사용) 및 Linux 용으로도 빌드가 가능하다는 것을 언급하고 넘어가는 것이 중요하다.
선행 조건
-
이 랩을 진행하려면 선행 지침에서 과제1을 완료해야 한다.
실습 1: Azure DevOps 빌드 소개하기
과제 1: 템플릿으로부터 기본 빌드 파이프라인 생성하기
1. Azure DevOps의 팀 프로젝트로 이동한다.
2. Pipelines - Pipelines로 이동한다.
3. New pipeline을 클릭하여 새로운 빌드 파이프라인을 생성한다.
4. 빌드 파이프라인의 기본 옵션은 YAML을 사용하여 프로세스를 정의하는 것이다. 관심이 있으시면 해당 랩을 확인 해본다. 이 랩에서는 use the classic editor을 클릭한다.
5. 가장 먼저해야 할 일은 소스 리포지토리를 구성하는 것이다. 선택한다. 모든 주요 플랫폼을 사용할 수 있지만 여기서는 기본 옵션이면 된다. 이 빌드는 PartsUnlimited 리포지토리의 master 브랜치를 사용한다. 기본값을 그대로두고 Continue를 클릭한다.
6. ASP.NET 템플릿을 찾아 Apply를 클릭하여 이 템플릿을 빌드 정의에 적용한다. 모든 주요 시나리오를 다루는 많은 옵션이 있다. 여기서는 기본 ASP.NET 템플릿을 사용하여 프로젝트를 빌드한다.
7. 이 빌드 파이프라인의 프로세스는 따라하기가 쉽다. 원본을 얻은 후 Azure DevOps는 NuGet을 사용하여 종속 패키지를 복원한다. 그런 다음 프로젝트를 빌드하고 테스트한다. 그런 다음 결과가 구성된 대상에 게시된다.
8. Variables 탭을 선택한다. 여기서 구성 또는 플랫폼과 같은 빌드 중에 사용되는 특수 매개 변수를 구성 할 수 있다.
9. Triggers 탭을 선택한다. 이 트리거를 사용하면 스케줄, 다른 빌드가 완료되거나 소스가 변경 될 때 빌드를 자동으로 호출 할 수 있다. 소스 변경 사항이 커밋 될 때마다 이 빌드가 호출되도록 Enable continuous integration을 선택한다.
10. Options 탭을 선택한다. 이 섹션에는 빌드 워크플로우와 관련된 다양한 옵션이 포함되어 있다. 일반적으로 태스크 자체의 구성보기에서 특정 빌드 태스크에 대한 옵션을 구성한다.
11. Retention 탭을 선택한다. go to the project settings to configure의 오른쪽 클릭 메뉴에서 새 탭에서 링크 열기를 선택한다.
12. 이 섹션에서는 유지할 파이프라인 실행 및 기간을 구성 할 수 있다. 탭을 닫는다.
13. History 탭을 선택한다. 여기에는 아직 아무것도 없지만 빌드 정의에 대한 변경사항 기록이 표시된다.
14. Save & queue에서 Save & queue를 선택하여 새로운 빌드를 저장하고 큐에 넣는다.
15. Save and run을 클릭하여 기본 옵션을 수락한다.
과제 2: 빌드 추적 및 검토하기
1. 부하에 따라 빌드가 큐에서 잠시 기다려야 할 수도 있다.
2. 빌드가 시작되면 태스크별로 콘솔 출력을 추적 할 수 있다. Agent job 1을 클릭한다.
3. 이전 태스크를 검토하려는 경우 오른쪽 창을 스크롤하여 로그를 검토 할 수 있다.
4. 빌드는 최종적으로 성공해야 한다. 백 버튼을 클릭하여 요약보기로 돌아갈 수 있다.
5. 요약보기는 커밋, 테스트 및 아티팩트에 대한 세부 사항을 포함하여 빌드에 대한 개요 세부 사항을 제공한다.
6. 이 빌드에 대한 테스트 성능을 검토하려면 Tests 탭을 선택한다. 파이프라인 편집기에 쉽게 액세스 할 수 있으며 새 빌드를 큐에 추가하고이 빌드의 아티팩트를 다운로드 할 수 있다.
7. 코드 커버리지 보고서를 확인하려면 Code coverage 탭을 선택한다. 코드 적용 범위는 단위 테스트와 같은 테스트에 의해 실제로 테스트되고 있는 프로젝트 코드의 비율을 결정하는 데 도움이 된다. 지금은 보고서 HTML을 찾지 못해 렌더링이 불가하다는 메시지가 확인된다.
과제 3: 지속적인 통합 빌드 호출하기
1. 현재 빌드는 지속적인 통합을 지원하도록 이전에 구성되었다. Repos - Files를 사용하여 이 프로젝트의 코드로 이동한다.
2. PartsUnlimited-aspnet45/src/PartsUnlimitedWebsite/Views/Home/에서 Index.cshtml 파일을 연다.
3. Edit을 클릭한다.
4. 문서의 제목을 수정하는 등 약간의 변경을 수행하고 Commit을 클릭한다.
5. 기본 커밋 세부 사항을 수락하고 Commit을 클릭한다.
6. 곧 빌드가 진행되어야 한다. Pipelines - Pipelines을 선택하여 블드가 진행 중인지 확인한다.
7. 이제 새 빌드 (.2 를 주목)가 진행 중이며 변경에 의해 트리거 되었음을 알 수 있다. 빌드를 클릭하여 추적한다. 지속적인 통합을 위해 구성된 다른 빌드 파이프라인 뒤에 대기 할 수도 있다.
8. 이 빌드는 이전 빌드와 마찬가지로 실행되고 성공해야한다.