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의..
https://www.azuredevopslabs.com/labs/vstsextend/sonarcloud/ 이 랩은 확인 및 정리할 내용이 다소 많아 2, 3편에 걸쳐 분리하여 포스팅 하고자 한다. 먼저 1편을 정리한다. 개요 SonarCloud는 클라우드 기반 코드 품질 및 보안 서비스이다. SonarCloud의 주요 기능은 다음과 같다. 23개의 개발언어 : Java, JS, C #, C / C ++, Objective-C, TypeScript, Python, ABAP, PLSQL, T-SQL 등 강력한 정적 코드 분석기 덕분에 찾기 어려운 버그와 품질 문제를 추적 할 수 있는 수천 가지 규칙이 있다. Travis, Azure DevOps, BitBucket, AppVeyor 등을 사용한 Cloud ..
실습 2 : 데이터베이스 및 애플리케이션 변경 이제 SQL 변경 자동화 프로젝트가 준비되었으므로 응용 프로그램의 일부 코드 변경과 함께 데이터베이스 스키마 및 데이터를 약간 변경해야한다. 랩 시나리오 PartsUnlimitedWebsite 프로젝트에서 web.config 파일을 편집한다. 연결 문자열을 변경하여 pul-dev 데이터베이스를 연결한다. 아래와 같이 연결 문자열을 업데이트한다. 애플리케이션을 로컬로 다시 실행한다. F5를 누르거나 디버깅 시작 아이콘을 클릭하여 애플리케이션을 로컬로 빌드하고 실행한다. 홈 페이지에서 확인하면 오일 및 필터 제품에 대한 할인을 받을 수 있다. 애플리케이션 코드 변경사항: 고객이 새 해 제안으로 모든 제품에 대한 할인을 원한다고 가정한다. 이를 위해서는 기존 애플..
https://www.azuredevopslabs.com/labs/vstsextend/redgate/ 이 랩은 확인 및 정리할 내용이 다소 많아 2편에 걸쳐 분리하여 포스팅 하고자 한다. 먼저 1편을 정리한다. 개요 데이터베이스 DevOps 완전히 개발되었다. DevOps의 성공적인 구현에 기여할 수있는 핵심 기술 관행으로 간주되어 데이터베이스 병목 현상을 제거하고 릴리스를 더 빠르고 쉽게 할 수 있다. 조직이 DevOps를 구현하지 못하게하는 일반적인 차단기는 데이터베이스이다. 고유한 요구 사항이 있으며 종종 애플리케이션 개발에 사용되는 것과 완전히 다른 개발 프로세스를 따른다. 여기에서 Redgate SQL Change Automation은 Redgate SQL Change Automation을 사용..
https://www.azuredevopslabs.com/labs/vstsextend/ansible/ 개요 Ansible은 클라우드 프로비저닝, 구성 관리 및 애플리케이션 배포를 자동화하는 오픈 소스 도구이다. Ansible을 사용하여 가상 머신, 컨테이너, 네트워크 및 완전한 클라우드 인프라를 프로비저닝 할 수 있다. 또한 Ansible을 사용하면 환경에서 리소스의 배포 및 구성을 자동화 할 수 있다. Ansible에는 원격 호스트 또는 플레이 북을 통해 직접 실행할 수 있는 Ansible 모듈 제품군이 포함되어 있다. 사용자는 자신의 모듈을 만들 수도 있다. 모듈은 서비스, 패키지 또는 파일과 같은 시스템 리소스를 제어하거나 시스템 명령을 실행하는 데 사용할 수 있다. Azure 서비스와 상호 작용하..
https://azuredevopslabs.com/labs/vstsextend/kubernetes/ 개요 Azure Kubernetes Service (AKS)는 Azure 상에서 쿠버네티스를 이용할 수 있는 가장 빠른 방법이다. AKS는 호스팅 된 Kubernetes 환경을 관리하므로 컨테이너 오케스트레이션 전문 지식 없이도 컨테이너화 된 애플리케이션을 빠르고 쉽게 배포하고 관리 할 수 있다. 또한 애플리케이션을 오프라인으로 전환하지 않고도 필요에 따라 리소스를 프로비저닝, 업그레이드 및 확장하여 지속적인 운영 및 유지 관리의 부담을 제거한다. Azure DevOps는 연속 빌드 옵션을 사용하여 더 빠른 배포와 안정성을 위해 Docker 이미지를 만드는 데 도움이된다. AKS를 사용하는 가장 큰 장..
https://azuredevopslabs.com/labs/vstsextend/selenium/ 개요 Selenium은 웹 애플리케이션을 위한 휴대용 오픈 소스 소프트웨어 테스트 프레임워크이다. 거의 모든 운영 체제에서 작동 할 수 있는 기능이 있다. 모든 최신 브라우저와 .NET (C #), Java를 포함한 여러 언어를 지원한다. 이 랩에서는 Azure DevOps 릴리즈 파이프 라인의 일부로 C# 웹 애플리케이션에서 selenium 테스트 사례를 실행하는 방법을 알아본다. 추가 학습을 원하면 Microsoft Learn의 Azure Pipelines 모듈에서 기능 테스트 실행을 확인한다. 시작하기 전에 1. 아래 실습을 수행하기 전에 시작하기를 참조한다. 2. 아래 Azure에 배포 버튼을 클릭하여..
https://azuredevopslabs.com/labs/vstsextend/aspnetmodernize/ 실습 3: ACR(Azure Container Registry)에도커 이미지 게시 이제 애플리케이션이 로컬 Docker에서 성공적으로 실행되고 있는지 확인 했으므로 Visual Studio의 게시 마법사를 사용하여 새 또는 기존 Azure Container Registry에 이미지를 게시 할 수 있다. 1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Publish를 선택한다. 2. 게시 마법사에서 Target으로 Azure를 선택하고 Specific target으로 Azure Container Registry를 선택한 다음 Next를 클릭한다. + 버튼을 클릭한다. 3. 필요한 세부 정보를 입력하..