Azure

Azure - DevOps 사용하기

rygus 2025. 8. 25. 00:17
728x90

안녕하세요.

 오늘은 Azure DevOps를 이용하여 간단한 테스트를 해보겠습니다. 

# Azure DevOps란? 

Azure DevOps는 Azure에서 제공하는 DevOps 서비스로,
소프트웨어 개발의 계획 → 개발 → 빌드 → 테스트 → 배포 → 운영 전 과정을 지원합니다.

즉 운영자가 GitHub + Jenkins + Jira + Artifactory 같은 다양한 툴을 따로 쓰지 않고,
하나의 플랫폼 안에서 모든 것을 해결할 수 있도록 만든 클라우드 기반 DevOps 서비스입니다.

 

# DevOps 가입하기

DevOps 서비스는 포탈이 따로 있기 때문에 아래 사이트로 들어가 가입을 해주어야 합니다. 

가입은 기존 갖고 계신 Azure 계정으로 하시면 됩니다.

 

https://aex.dev.azure.com/me?mkt=ko-KR

 

Azure DevOps Services | Sign In

Microsoft Internet Explorer's Enhanced Security Configuration is currently enabled on your environment. This enhanced level of security prevents our web integration experiences from displaying or performing correctly. To continue with your operation please

app.vssps.visualstudio.com

 

Azure 계정으로 로그인 합니다.

몇 가지 추가 사항을 입력합니다. 

 

가입이 완료되면 아래와 같은 사이트로 이동되는데 여기서 `organization`을 생성합니다.

 

동의하고 넘어갑니다.

 

정보 기입 후 넘어갑니다.

 

여기까지 하면 Azure DevOps Organization이 정상적으로 생성되는데요. 

이제 프로젝트를 생성합니다.

 

프로젝트 생성이 완료되었습니다.

 

 

# Azure DevOps 이용해 보기

이제 프로젝트까지 생성이 완료되었으니 본격적으로 이용해 보겠습니다. 

저희는 간단히 화면에 "Hello Azure DevOps"를 출력하는 파워쉘 스크립트를 DevOps를 통해 실행하겠습니다.

 

먼저 바탕화면에 파워쉘 스크립트 파일을 하나 생성합니다. 

파워쉘을 실행하고 아래 명령어를 복붙 합니다. 

# 바탕화면에 파워쉘 스크립트 저장하는 명령어
Set-Content -Path ~\Desktop\test.ps1 -Value 'Write-Host "Hello Azure DevOps!"'

 

스크립트가 정상적으로 생성되었으면 아까 생성한 프로젝트에 들어갑니다. 

그리고 왼쪽에 `Repos`에 들어갑니다.

 

*참고로 Repos란 코드 버전 관리를 위한 깃 기반 리포지토리 서비스입니다. 

 

처음 들어가면 밑에 initialize 하면서 하단에 `read.me` 파일 생성하는 부분이 있을 텐데요.

클릭합니다.

(실수로 스샷 찍는 것을 깜빡하였습니다. ㅠㅠ)

 

그러면 이렇게 화면이 나올 텐데 여기서 오른쪽에서 업로드 파일을 클릭합니다. 

 

아까 생성한 파워쉘 스크립트를 업로드하고 아래 `commit`을 클릭합니다.

 

정상적으로 업로드된 것을 확인 가능합니다.

 

 

이제 Pipeline Agent를 설정해야 합니다. 

Pipeline Agent는 파이프라인의 작업을 실행하는 컴퓨팅 환경에 설치된 소프트웨어입니다.
저희의 코드를 실행하기 위한 컴퓨터 자원이 필요한데 
해당 컴퓨터 자원과 통신시켜 주는 소프트웨어로 이해해 주시면 됩니다.

 

프로젝트 홈 화면에 돌아와 왼쪽 아래의 Project settings를 클릭합니다.

 

여기서 Agent Pool을 생성합니다. 

Agent Pool이란 아까 설명드린 저희의 코드를 실행할 컴퓨터입니다. 

Pool Type에 여러 종류가 있는데요. 

 

Managed DevOps Pool : MS에서 직접 관리하는 컴퓨팅 자원으로 우리가 관리할 것이 없는 장점이 있음

Self-hosted Pool : 우리가 직접 관리해야 하는 컴퓨터로 Local PC도 사용가능하며 Azure VM도 사용 가능함

 

즉, 코드를 실행할 컴퓨터가 MS에서 직접 관리해 주는 컴퓨터다 그러면 Managed Pool 이고 내가 직접 사용할 컴퓨터다 그러면 Self-hosted Pool 입니다.

 

이제 `pipeline agent`를 설치할  윈도우 VM을 하나 준비합니다. 

Local PC에 설치하셔도 무방합니다. 

 

윈도우 VM이 준비가 완료되었다면 생성한 agent pool로 들어가 오른쪽 상단의 New agent를 클릭합니다.

 

New agent를 클릭하셨으면 아래와 같은 화면이 나올 텐데요.

여기서 다운로드 agent에 있는 복사 버튼을 클릭합니다.

 

이제 agent pool을 설치할 윈도우 환경으로 이동 후 복사한 주소를 이용하여 아래 파워쉘 명령어를 실행합니다.

$filepath = "아까 복사한 주소"
invoke-webrequest -uri $filepath -outfile .\Downloads\"복사한 파일 이름"

 

이런 식으로 나오면 정상적으로 파일 설치 중 인 것입니다.

 

설치가 완료되면 다음 명령어를 이용하여 압축을 해제합니다.

mkdir agent ; cd agent
Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-x64-4.259.0.zip", "$PWD")

 

압축해제가 완료되었으면 아래 명령어를 실행합니다.

`.\config.cmd`

정상적으로 설치되었다면 아래와 같이 나올 것입니다.

이제 pipeline에 어떤 Azure DevOps 조직인지 어떤 파이프 라인을 사용할 것인지 등을 기입해야 합니다.

 

해당 화면을 그대로 두고 다시 Azure DevOps 포탈로 잠시 돌아오겠습니다. 

오른쪽 상단에 톱니바퀴를 클릭 후 Personal access tokens를 클릭합니다.

(이제부터 Pipeline Agent가 사용할 토큰을 발행할 것입니다.)

 

New Token을 클릭합니다.

 

full access 권한 부여 후 생성합니다.

 

생성된 토큰을 저장해 둡니다.

이제 다시 아까 윈도우 환경에 돌아와 pipeline agent 설정을 마저 진행하겠습니다.

 

Enter server URL : Service URL 부분은 'https://dev.azure.com/"내 조직 이름"' 을 입력합니다.

Enter authentication type : PAT

Enter personal access token : 아까 복사한 토큰 복붙

Enter agent pool : 본인이 생성한 agent pool 이름

Enter run agent as service : 서비스로 등록할 것인지 여부

 

설명드린 것 외의 다른 것은 그냥 엔터로 넘어가 주시면 됩니다. 

services에 들어와서 확인해 보면 Azure Pipelines Agent라는 서비스가 정상적으로 실행 중인 것을 확인 가능합니다.

 

그리고 devops 포탈에서도 Online으로 확인이 가능합니다.

 

*만약 여기서 서비스가 정상적으로 실행이 되지 않는다면 권한 문제일 가능성이 있습니다. 

하기와 같이 서비스에 들어가 Local System account로 바꾸어 주어야 합니다.

 

이제 준비는 모두 끝났습니다. 

Pipeline만 실행하면 됩니다. 

pipeline을 생성합니다.

 

저희가 아까 생성한 레포지토리를 선택합니다.

 

stater pipeline을 클릭합니다.

 

아래 코드에서 agent pool 부분만 수정 후 실행합니다.

trigger:
- main

pool:
  name: "생성한 agent pool"

steps:
- powershell: ./script.ps1
  displayName: 'Run PowerShell script'

 

실행 후 작업이 완료되면 Job을 클릭하시면 정상적으로 실행된 것을 확인 가능합니다.

 

감사합니다. 

 

*참고 자료

https://learn.microsoft.com/ko-kr/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=yaml%2Cbrowser

 

Azure Pipelines 에이전트 - Azure Pipelines

Azure Pipelines에서 에이전트를 사용하여 코드를 빌드하거나 소프트웨어를 배포하는 방법을 알아봅니다.

learn.microsoft.com

https://stackoverflow.com/questions/54926204/azure-devops-agent-wont-start-and-shows-error-1-incorrect-function-service-c

 

Azure DevOps Agent won't start and shows: Error 1 Incorrect Function - Service could not start

I configured the build agent as a service but when I go to start the agent I get the error: Error 1 Incorrect Function - Service could not start Azure DevOps Agent configured as a service but se...

stackoverflow.com