Azure Pipeline을 통해서 배포하는 방법 중에 대표적인 방법이 Deployment Groups(DG)를 이용하는 방법입니다. 애플리케이션의 배포 대상에 해당하는 준비된 머신이 존재한다면, 해당 머신에 VSTS Agent를 설치하여 Azure DevOps에 해당 머신을 DG에 등록하고 사용하게 됩니다. 구성하는 방법에 대해서는 다음의 문서에서 절차적으로 설명하고 있습니다.
상위의 절차를 살펴보면, 가장 중요한 작업이 Azure DevOps 사이트에서 제공하는 Script를 대상 서버에서 실행하여 VSTS Agent를 설치하는 과정일 것입니다. 간혹 Azure 에서 제공하는 Linux 머신(Cent OS 7)을 대상으로 상위 문서의 절차 3에 해당하는 방법을 이용하여 제공된 script를 대상 머신에서 실행할 경우에 Must not run with sudo 오류가 발생하는 경우가 있습니다.
1 | ./config.sh |
상위와 같은 오류가 보고된다면 script 를 실행할 때 root 권한을 갖은 쉘에서 해당 스크립트를 실행한 것인지 확인하십시오. 만일, 그렇다면 기존에 root 계정으로 설치된 폴더(azagent)를 모두 삭제하고, root 권한을 빠져나온 후에 사용자 계정으로 해당 script를 다시 실행하여 해당 오류를 피할 수 있습니다.
상위의 방법으로 해당 문제를 피할 경우에도 간혹 .NET Core 3.1로 인하여 문제가 발생할 수 있습니다.
1 | ./license.html |
Deploy an Azure Pipelines agent on Linux - Azure Pipelines | Microsoft Docs 문서의 note를 살펴보면,
Mariner OS distribution currently has partial support from the Azure DevOps Agent. We are providing a mechanism for detection of this OS distribution in installdependencies.sh script, but due to lack of support from the .Net Core side, we couldn’t guarantee full operability of all agent functions when running on this OS distribution.”
언급을 확인할 수 있습니다.
이를 해결하기 위해 먼저 agent directory에서 “sudo ./bin/installdependencies.sh”을 실행하여 종속적인 모듈부분을 모두 해결한 이후에 한 번 더 registration script를 반복 실행하면 정상적으로 설치를 할 수 있습니다.
※본 정보의 내용(첨부문서, 링크처 등을 포함)은 작성일 현재이며, 예고없이 변경될 수 있습니다.