https://azuredevopslabs.com/labs/vstsextend/terraform/ 개요 Terraform은 인프라를 안전하고 효율적으로 구축, 변경 및 버전 관리하기 위한 도구이다. Terraform은 기존 및 인기있는 클라우드 서비스 제공 사업자 뿐만아니라 맞춤형 사내 솔루션도 관리 할 수 있다. 구성 파일은 단일 애플리케이션 또는 전체 데이터 센터를 실행하는 데 필요한 구성 요소를 Terraform에게 설명한다. Terraform은 의도하는 상태에 도달하기 위해 수행 할 작업을 설명하는 실행 계획을 생성 한 다음 이를 실행하여 설명 된 인프라를 구축한다. 구성이 변경되면 Terraform은 변경된 사항을 확인하고 적용 할 수 있는 증분 실행 계획을 생성 할 수 있다. 추가 학습을 ..
https://azuredevopslabs.com/labs/vstsextend/python/ 개요 Python은 서버사이드 스크립팅 언어이며 동적 및 대화형 웹 페이지를 만들기 위한 강력한 도구이다. 이 랩에서는 Azure DevOps를 사용하여 Python 애플리케이션을 Azure App Service에 배포하는 방법을 보여준다. 배포를 위해 Django 프레임워크를 사용할 것이다. 추가 학습을 원한다면 Microsoft Learn에서 Azure Pipelines 모듈로 Python 배포 자동화를 확인하라. 랩을 위한 전제 조건 1. 이 실습의 전제 조건을 알아 보려면 시작하기 페이지를 참조한다. 2. Azure DevOps 데모 생성기 링크를 클릭하고 시작하기 페이지의 지침에 따라 프로젝트를 Azur..
https://azuredevopslabs.com/labs/vstsextend/azuredevopsprojectdotnet/ 개요 Azure DevOps 프로젝트는 Azure DevOps를 사용하여 Azure에 대한 전체 CI (지속적 통합) 및 CD (지속적 배포) 파이프라인의 설정을 단순화한다. 기존 코드로 시작하거나 제공된 샘플 애플리케이션 중 하나를 사용할 수 있다. 그런 다음 해당 애플리케이션을 Virtual Machines, App Service, AKS (Azure Kubernetes Services), Azure SQL Database 및 Azure Service Fabric과 같은 다양한 Azure 서비스에 빠르게 배포 할 수 있다. DevOps Projects는 초기 Git 리포지토리 ..
https://azuredevopslabs.com/labs/vstsextend/docker/ 개요 Docker 컨테이너 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정 등 애플리케이션을 실행하는 데 필요한 모든 것이 포함된 경량의 독립 실행형 소프트웨어 패키지이다. 이 랩에서는 ASP.NET Core 애플리케이션의 사용자 지정 Docker 이미지를 빌드하고 해당 이미지를 ACR(Azure Container Registry)의 프라이빗 리포지토리로 푸시하는 프로세스를 간략하게 설명한다. 이러한 이미지는 Azure DevOps를 사용하여 Azure App Service (Linux)의 Docker 컨테이너에 애플리케이션을 배포하는 데 사용된다. Web App for Containers를 사..
https://azuredevopslabs.com/labs/vstsextend/launchdarkly/ 더보기 이번 실습은 5번을 시도해 봤으나 에러가 없었음에도 불구하고 최종적으로 기능 플래그가 적용되지 않았다. 혹시 진행과정에서 잘못된 부분을 발견하시는 분이 있다면 바로잡아 주시길~~~^ 개요 LaunchDarkly는 기능 플래그를 서비스로 제공하고 개발자가 빠르고 안전하게 반복할 수 있도록 해주는 지속적인 전달 플랫폼이다. LaunchDarkly는 코드 배포에서 기능 롤아웃을 분리하고 기능 플래그를 대규모로 관리할 수 있는 권한을 제공한다. LaunchDarkly와 Azure DevOps 서비스의 통합을 통해 개발자는 적은 위험으로 자신 있게 릴리즈 할 수 있다. 기능 플래그 롤아웃을 Azure D..
https://azuredevopslabs.com/labs/vstsextend/github-azureboards/ Azure 보드는 칸반 보드, 백로그, 팀 대시보드, 그리고 커스텀 리포팅 등을 포괄하는 풍부한 프로젝트 관리 기능을 제공한다. Azure DevOps를 GitHub 리포지토리와 연결하여 팀은 풍부한 프로젝트 관리 능력을 활용할 수 있다. GitHub 커밋과 풀 요청 사이에 링크를 만들어 Azure 보드에서 추적된 항목으로 작업할 수 있다. 이를 통해 작업을 계획하고 추적하기 위해 Azure 보드를 사용하면서 원활한 방법으로 소프트웨어 개발에 GitHub를 사용할 수 있도록 해준다. 이번 랩에서는 GitHub와 함께 Azure 보드를 설정하는 것이 얼마나 쉬운지 그리고 작업 항목에서 코드 변..
https://azuredevopslabs.com/labs/vstsextend/github-azurepipelines/ 과제 4: CI 파이프라인에 자동화된 테스트 포함하기 CI를 성공적으로 구축했으므로 이제 배포를 할 차례다. 그러나 빌드가 릴리즈에 적합한지 여부를 어떻게 알 수 있을까? 대부분의 팀은 CI 프로세스의 일부로 단위 테스트와 같은 자동화된 테스트를 실행하여 고품질 소프트웨어를 출시하고 있는지 확인한다. 팀은 코드 적용 범위, 테스트 수행 시 코드 분석과 같은 주요 코드 메트릭을 캡처하여 코드 품질이 떨어지지 않도록 하며, 완전히 제거되지 않은 경우 기술 부채가 낮도록 유지한다. 앞에서 만든 azure-pipelines.yml 파일을 내려 놓고 몇 가지 테스트를 실행하고 테스트 결과를 게시..
https://azuredevopslabs.com/labs/vstsextend/github-azurepipelines/ 이 랩은 전체 5개의 과제로 이루어져 있으며 2편에 걸쳐 분리 포스팅 하고자 한다. 먼저 1편을 정리한다. 개요 GitHub는 모든 모양과 크기의 애플리케이션을 포함하는 1억 개 이상의 리포지토리를 호스트한다. 그러나 GitHub는 시작에 불과하며 이러한 애플리케이션은 잠재력을 최대한 발휘하기 위해 여전히 구축, 출시 및 관리해야 한다. Azure 파이프라인은 어떤 플랫폼이나 클라우드에 대해서도 지속적으로 빌드, 테스트 및 배포할 수 있도록 해준다. 리눅스, MacOS 및 윈도우즈용 클라우드 호스팅 에이전트, 네이티브 컨테이너를 지원하는 강력한 워크플로우, Kubernetes, VM 및..
https://azuredevopslabs.com/labs/vstsextend/teams/ 개요 Micro Teams는 오피스 365의 팀워크를 위한 허브다. 팀의 모든 채팅, 미팅, 파일 및 앱을 한 곳에 함께 보관하라. 소프트웨어 개발팀은 오피스365와 Azure DevOps로부터의 팀, 대화, 컨텐츠 및 도구를 한 곳으로 통합하는 팀워크를 위한 전용 허브에서 필요로하는 모든 것을 즉시 액세스 할 수 있다. 이 토픽은 Azure DevOps 서비스 및 TFS 2017.2 이상 버전에 적용된다. 전제 조건 Microsoft Teams를 Azure DevOps 서비스와 통합하기 위해서는 오피스365 계정이 있어야 한다. 동일 조직(AAD 테넌트)의 Azure DevOps 조직만이 Microsoft Tea..
https://azuredevopslabs.com/labs/vstsextend/azurekeyvault/ 개요 Azure Key Vault는 산업 표준 알고리즘, 키 길이 및 하드웨어 보안 모듈로 보호된 중앙 저장소에 키, 암호, 인증서 등과 같은 민간한 정보를 안전하게 저장 및 관리할 수 있도록 돕는다. 이는 많은 개발자들이 흔히 범하는 실수인 소스 코드를 통한 정보의 공개를 방지해준다. 많은 개발자는 데이터베이스 연결 문자열, 암호, 개인키 등과 같은 기밀 정보을 소스 코드 상에 그대로 둔다. 이 정보를 악의적인 사용자가 얻게 될 경우 의도치 않는 결과를 초래할 수 있다. key vault에 액세스 하기 위해서는 적절한 인증과 인가를 필요로 하며 팀은 RBAC을 사용하여 민감한 데이터에 대한 퍼미션을..