자습서: Azure에서 실행되는 VM을 사용하여 Jenkins 배포 크기 조정
Important
많은 Azure 서비스에 Jenkins 플러그 인이 있습니다. 이러한 플러그 인 중 일부는 2024년 2월 29일부터 지원되지 않습니다. Azure CLI는 현재 Jenkins를 Azure 서비스와 통합하는 데 권장되는 방법입니다. 자세한 내용은 Azure용 Jenkins 플러그 인 문서를 참조하세요.
이 자습서에서는 Azure에서 Linux 가상 머신을 만들고 해당 VM을 Jenkins에 작업 노드로 추가하는 방법을 보여 줍니다.
이 자습서에서는 다음을 수행합니다.
- 에이전트 머신 만들기
- Jenkins에 에이전트 추가
- 새 Jenkins 프리스타일 작업 만들기
- Azure VM 에이전트에서 작업 실행
필수 조건
- Jenkins 설치: Jenkins 설치에 액세스할 수 없는 경우 Azure CLI를 사용하여 Jenkins를 구성합니다.
에이전트 가상 머신 구성
az group create를 사용하여 Azure 리소스 그룹을 만듭니다.
az group create --name <resource_group> --location <location>
az vm create를 사용하여 가상 머신을 만듭니다.
az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
주요 정보:
- 또한
--ssh-key-value <ssh_path>
명령을 사용하여 SSH 키를 업로드할 수도 있습니다.
- 또한
JDK를 설치합니다.
Jenkins URL 구성
JNLP를 사용하는 경우 Jenkins URL을 구성해야 합니다.
메뉴에서 Jenkins 관리를 선택합니다.
시스템 구성에서 시스템 구성을 선택합니다.
Jenkins URL이 Jenkins 설치의 HTTP 주소(
http://<your_host>.<your_domain>:8080/
)로 설정되었는지 확인합니다.저장을 선택합니다.
Jenkins에 에이전트 추가
메뉴에서 Jenkins 관리를 선택합니다.
시스템 구성에서 노드 및 클라우드 관리를 선택합니다.
메뉴에서 새 노드를 선택합니다.
노드 이름에 값을 입력합니다.
영구 에이전트를 선택합니다.
확인을 선택합니다.
다음 필드에 대한 값을 지정합니다.
이름: 새 Jenkins 설치 내에서 에이전트를 식별하는 고유한 이름을 지정합니다. 이 값은 에이전트 호스트 이름과 다를 수 있습니다. 그러나 두 값을 동일하게 만드는 것이 편리합니다. 이름 값은 다음 목록에서
?*/\%!@#$^&|<>[]:;
특수 문자를 사용할 수 있습니다.원격 루트 디렉터리: 에이전트에는 Jenkins 전용 디렉터리가 있어야 합니다. 에이전트에서 이 디렉터리의 경로를 지정합니다. 절대 경로(예:
/home/azureuser/work
또는c:\jenkins
.)를 사용하는 것이 가장 좋습니다. 에이전트 컴퓨터에 대한 로컬 경로여야 합니다. 마스터에 이 경로를 표시할 필요는 없습니다. ./jenkins-agent와 같은 상대 경로를 사용하는 경우 경로는 Launch 메서드에서 제공하는 작업 디렉터리를 기준으로 합니다.레이블: 레이블은 의미 체계적으로 관련된 에이전트를 하나의 논리 그룹으로 그룹화하는 데 사용됩니다. 예를 들어 Linux의 Ubuntu 배포판을 실행하는 모든 에이전트에는
UBUNTU
레이블을 정의할 수 있습니다.시작 방법: 원격 Jenkins 노드를 시작하는 두 가지 옵션이 있습니다. SSH를 통해 에이전트를 시작하고 마스터에서 명령을 실행하여 에이전트를 시작합니다.
SSH를 통해 에이전트 시작: 다음 필드에 대한 값을 지정합니다.
호스트: VM 공용 IP 주소 또는 할기본 이름입니다. 예를 들어
123.123.123.123
또는example.com
와 같습니다.자격 증명: 원격 호스트에 로그인하는 데 사용할 자격 증명을 선택합니다. 추가 단추를 선택하여 새 자격 증명을 정의한 다음, 새 자격 증명이 만들어지면 해당 자격 증명을 선택할 수도 있습니다.
호스트 키 확인 전략: Jenkins가 연결하는 동안 원격 호스트에서 제공하는 SSH 키를 확인하는 방법을 제어합니다.
마스터에서 명령 실행을 통해 에이전트를 시작합니다.
에서
https://<your_jenkins_host_name>/jnlpJars/agent.jar
다운로드합니다agent.jar
. 예:https://localhost:8443/jnlpJars/agent.jar
.agent.jar
를 가상 머신에 업로드합니다.명령을 사용하여 Jenkins를 시작합니다
ssh <node_host> java -jar <remote_agentjar_path>
. 예:ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar
.
저장을 선택합니다.
구성을 정의한 후 Jenkins는 가상 머신을 새 작업 노드로 추가합니다.
Jenkins에서 작업 만들기
메뉴에서 새 항목을 선택합니다.
이름을 입력
demoproject1
합니다.프리스타일 프로젝트를 선택합니다.
확인을 선택합니다.
일반 탭에서 프로젝트를 실행할 수 있는 위치 제한 및 레이블 식에 입력
ubuntu
을 선택합니다. 이전 단계에서 만든 클라우드 구성에서 레이블이 제공됨을 확인하는 메시지가 표시됩니다.소스 코드 관리 탭에서 Git을 선택하고 리포지토리 URL 필드에 다음 URL을 추가합니다.
https://github.com/spring-projects/spring-petclinic.git
빌드 탭에서 빌드 단계 추가를 선택한 다음 최상위 Maven 대상을 호출합니다. 목표 필드에 입력
package
합니다.저장을 선택합니다.
Azure VM 에이전트에서 새 작업 빌드
이전 단계에서 만든 작업을 선택합니다.
지금 빌드를 선택합니다. 새 빌드는 대기 중이지만 Azure 구독에서 에이전트 VM을 만들 때까지 시작되지 않습니다.
빌드가 완료되면 콘솔 출력으로 이동합니다. 해당 빌드가 Azure 에이전트에서 원격으로 수행되었음이 표시됩니다.