5. Branch 전략 수립하기 터미널 상에서 다음 명령을 수행하여 현재 브랜치 현황을 확인해 본다.git branch -aADO-git-handson# git branch -a* master remotes/origin/masterADO-git-handson# 현재 master 브랜치에서 작업이 이루어 지고 있으며 로컬, 리모트 모두 하나의 브랜치만 존재함을 알 수 있다.이 구조는 Git을 처음으로 접하여 이런 저런 명령을 수행하거나, 단순한 개인 실습을 수행하는데 별 문제 없지만 실무에서의 현실에서는 master 브랜치를 단일로 유지 및 관리하는 것은 바람직 하지 않다.실무 협업 환경에서는 소위 Git 브랜치 전략을 채택하여 보다 보안적으로 안전하게 버전 제어를 사용하여 코드를 공유하고 관리 하는 관..
1. 개요 이번 글에서는 Azure DevOps의 Azure Repos를 활용하여 Git에 대한 기본 명령을 수행해 보고 최종적으로 Pull Request를 수행하는 내용을 다루고자 한다. 이를 통해 Git 리포지토리를 사용하여 코드를 관리하고, 다른 팀원과 협업하며, 프로젝트를 효율적으로 개발할 수 있는 방법에 대해 살펴본다.혹시 Git에 대하여 생소하거나 개념에 대한 이해가 필요하다면 Git 이란을 참조하여 먼저 Git에 대한 기본 개념을 살펴 볼 것을 권장한다. 2. 전제 조건 본 핸즈온을 따라 수행하려면 먼저 다음이 준비 되어야 한다.Azure DevOps 조직 만들기Azure DevOps 프로젝트 만들기WSL2 설치 및 환경 구성하기 (Azure SA 업무 환경)Git 설치 및 VS Cod..
이번 글에서는 어떻게 Azure DevOps의 6가지 주요 기능을 활용하여 애플리케이션 생명주기를 관리할 수 있는지에 대해 쉽게 이해할 수 있도록 정리한 Subhankar Sarkar님의 "AZURE DEVOPS – MANAGE YOUR APPLICATION LIFECYCLE IN CLOUD" 라는 글을 소개하고자 한다. 이 글을 한글화하는데 흔쾌히 허락해주신 Subhankar Sarkar님에게 다시 한번 감사의 말씀을 전한다. ALM(Application Lifecycle Management) 이란? 애플리케이션 라이프사이클 관리(AML)는 컴퓨터 프로그램의 제품 생명주기를 관리하는 것으로 요구사항 관리, 소프트웨어 아키텍처, 컴퓨터 프로그래밍, 소프트웨어 테스트, 소프트웨어 유지보수, 변경 관리, 지..
Azure Repo 및 Pipeline 이벤트 게시하기 이제 Azure DevOps에 Slack을 통합하였으니 Azure Repo 및 Pipeline에 대한 이벤트를 게시하도록 구성하고 검증하도록 해보자. 참고로 실습을 위해 필요한 Azure DevOps내 프로젝트 구성 (소스 및 파이프라인 구성 등) 내용은 생략한다. 각 자 구성된 환경을 기준으로 진행하면 된다. Service hooks 추가하기 1. 통합하려는 프로젝트로 이동하여 프로젝트 설정으로 이동한다. 1.1 Service hooks 화면에서 를 눌러 Slack을 선택한다. 1.2 트리거 할 이벤트 타입으로 "Code pushed"를 선택하고 레파지토리를 선택 후 Next를 클릭한다. 1.3 이전 섹션에서 복사해 둔 Slack 웹훅 URL을 붙..
개요 이번 글에서는 Azure DevOps에 Slack을 통합하여 Azure Board, Repo 및 Pipelines의 이벤트를 게시하는 내용을 다루고자 한다. 즉, 빌드 완료, 코드의 변경, PR, Work Item의 변경 등과 같은 이벤트를 Slack의 채널 상에 메시지 형태로 게시하는 내용이다. 이를 통해 DevOps가 추구하는 핵심 가치 중 하나인 민첩성을 확보할 수 있으며 더불어 Value Stream을 개선할 수 있다. 즉 고객에게 가치를 주지 않는 불필요한 커뮤니케이션 시간을 줄일 수 있다. 먼저 첫 번째 Azure Board 상의 이벤트를 감지하여 Slack으로 공지하는 내용을 다루고자 한다. Slack 웹후크 URL 준비하기 1. Slack에 채널을 생성한다. 또는 기존 채널을 활용할 ..
실습 3: 릴리즈 게이트를 추가 한 후 애플리케이션 업데이트 및 배포 이 실습에서는 애플리케이션에서 약간의 코드 변경을 수행하고 빌드 및 릴리즈를 트리거하는 리포지토리에 커밋한다. 진행에 앞서 다음 작업을 먼저 수행한다. 1. Bugs 쿼리의 Security...를 클릭한다. 2. "ReleaseGates...." 라는 Users를 검색하여(각자의 프로젝트 이름이므로 다를 수 있다.) 추가하고 Read를 "Allow" 한다. 1. Repos로 이동하여 파일을 클릭한다. "src/PartsUnlimitedWebsite/Views/Home/Index.cshtml"경로로 이동하여 30행의 "20%"에서 "30%"로 내용을 수정한다. 수정 후 변경 사항을 Commit 한다. 2. PartsUnlimited-CI..
실습 1: 릴리즈 파이프라인 구성 위의 Azure DevOps 데모 생성기로 만든 프로젝트로 이동한다. 릴리즈 태스크 업데이트 1. Pipelines 아래 Releases로 이동하여 PartsUnlimited-CD 파이프라인의 Edit 을 선택한다. 이 파이프라인에는 두 가지 환경이 있다. 즉, Canary Environment와Production 이다. “1 job, 2 tasks”링크를 클릭하여 태스크를 확인하고 업데이트 한다. 2. Canary environment에는 패키지를 Azure Web App에 게시하고 배포 후 애플리케이션을 지속적으로 모니터링 할 수 있는 두 가지 태스크가 있다. 3. Canary Environment 스테이지를 선택한다. Azure 구독 필드의 드롭 다운에서 Azure..
https://azuredevopslabs.com/labs/vstsextend/releasegates/ 이 랩은 진행과정에 해결해야 할 이슈가 많아 정리하는데 많은 시간이 걸렸다. 이에 3편에 걸쳐 분리하여 포스팅 하고자 한다. 먼저 1편을 정리한다. 알고 있는 바과 같이, 릴리즈 파이프라인은 애플리케이션이 다양한 환경에 배포 될 수 있도록 종단간 릴리즈 프로세스를 지정한다. 각 환경에 대한 배포는 잡 및 태스크를 사용하여 완전히 자동화 된다. 이상적으로는 애플리케이션에 대한 새 업데이트가 모든 사용자에게 동시에 노출되는 것을 원하지 않는다. 업데이트를 단계적으로 노출하는 것이 가장 좋은 관행이다. 사용자들의 부분집합에 노출되고, 사용자들의 사용을 모니터링하며, 사용자들의 초기 집합이 가진 경험에 기초하..
실습 3 : 풀 요청 통합 설정 pull request가 생성 될 때 실행되도록 SonarCloud 분석을 구성하려면 다음 두 부분이 있다. SonarCloud 프로젝트에 액세스 토큰을 제공해야 Azure DevOps에 PR 의견을 추가 할 수 있다. PR 빌드를 트리거하려면 Azure DevOps에서 브랜치 정책을 구성해야 한다. 1. Azure DevOps에서 Personal Access Token을 생성한다. → (이전 실습에서 이미 수행하였으므로 불필요 하다.) 2. pull requests를 분석하도록 SonarCloud 구성한다. SonarCloud의 Sonar Examples 대시보드로 이동한다. Administration, General Settings를 클릭한다. Pull Requests..
실습 1: SonarCloud와 통합되는 파이프라인 설정 SonarCloud와 통합되어 SonarExamples 코드를 분석하는 새로운 빌드 파이프라인을 설정한다. 1. 새 Azure DevOps 프로젝트에서 Pipelines 탭 아래의 Pipelines으로 이동 한 다음 Create Pipeline을 클릭하여 새 빌드 파이프라인을 만든다. 여기에 두 가지 옵션이 있다. YAML editor 또는 classic editor를 사용하여 파이프라인을 구성 할 수 있다. YAML 편집기를 사용하려면 별도로 제공되는 YAML 파일을 사용해야 한다. 옵션 (YAML 또는 CLASSIC) 중 하나를 선택한다. YAML Editor 1. 오늘은 이 기능을 사용하지 않는다. 우리의 경우 이전에 가져온 git repo의..