다음을 통해 공유


자습서: Azure에서 실행되는 VM을 사용하여 Jenkins 배포 크기 조정

중요합니다

많은 Azure 서비스에 Jenkins 플러그 인이 있지만 이러한 플러그 인의 대부분은 2024년 2월 29일부터 지원을 종료했습니다. Azure CLI는 현재 Jenkins를 Azure 서비스와 통합하는 데 권장되는 방법입니다. 자세한 내용은 Azure용 Jenkins 플러그 인 문서를 참조하세요.

이 자습서에서는 Azure에서 Linux 가상 머신을 만들고 VM을 Jenkins에 작업 노드로 추가하는 방법을 보여 줍니다.

이 자습서에서는 다음을 수행합니다.

  • 에이전트 컴퓨터 만들기
  • Jenkins에 에이전트 추가
  • 새 Jenkins 자유형 작업 만들기
  • Azure VM 에이전트에서 작업 실행

필수 조건

에이전트 가상 머신 구성

  1. az group create를 사용하여 Azure 리소스 그룹을 만듭니다.

    az group create --name <resource_group> --location <location>
    
  2. 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 키를 업로드할 수도 있습니다.
  3. JDK를 설치합니다.

    1. SSH 도구를 사용하여 가상 머신에 로그인합니다.

      ssh username@123.123.123.123
      
    2. apt를 사용하여 JDK를 설치합니다. yum 또는 pacman과 같은 다른 패키지 관리자 도구와 함께 설치할 수도 있습니다.

      sudo apt-get install -y default-jdk
      
    3. 설치가 완료되면 실행 java -version 하여 Java 환경을 확인합니다. 출력에는 JDK의 다양한 부분과 연결된 버전 번호가 포함됩니다.

Jenkins URL을 구성하기

JNLP를 사용하는 경우 Jenkins URL을 구성해야 합니다.

  1. 메뉴에서 Jenkins 관리를 선택합니다.

  2. 시스템 구성에서 시스템 구성을 선택합니다.

  3. Jenkins URL이 Jenkins 설치http://<your_host>.<your_domain>:8080/의 HTTP 주소로 설정되어 있는지 확인합니다.

  4. 저장을 선택합니다.

Jenkins에 에이전트 추가

  1. 메뉴에서 Jenkins 관리를 선택합니다.

  2. 시스템 구성에서 노드 및 클라우드 관리를 선택합니다.

  3. 메뉴에서 새 노드를 선택합니다.

  4. 노드 이름 값을 입력합니다.

  5. 영구 에이전트를 선택합니다.

  6. 확인을 선택합니다.

  7. 다음 필드에 값을 지정합니다.

    • 이름: 새 Jenkins 설치 내에서 에이전트를 식별하는 고유한 이름을 지정합니다. 이 값은 에이전트 호스트 이름과 다를 수 있습니다. 그러나 두 값을 동일하게 만드는 것이 편리합니다. 이름 값은 다음 목록에서 ?*/\%!@#$^&|<>[]:;특수 문자를 사용할 수 있습니다.

    • 원격 루트 디렉터리: 에이전트에는 Jenkins 전용 디렉터리가 있어야 합니다. 에이전트에서 이 디렉터리의 경로를 지정합니다. 절대 경로(예: /home/azureuser/work 또는 c:\jenkins.)를 사용하는 것이 가장 좋습니다. 에이전트 컴퓨터에 대한 로컬 경로여야 합니다. 마스터에서 이 경로를 표시할 필요가 없습니다. ./jenkins-agent와 같은 상대 경로를 사용하는 경우 경로는 Launch 메서드에서 제공하는 작업 디렉터리를 기준으로 합니다.

    • 레이블: 레이블은 의미 체계적으로 관련된 에이전트를 하나의 논리 그룹으로 그룹화하는 데 사용됩니다. 예를 들어, Ubuntu 배포판을 실행 중인 모든 Linux 에이전트에 대해 UBUNTU 레이블을 정의할 수 있습니다.

    • 시작 방법: 원격 Jenkins 노드를 시작하는 두 가지 옵션이 있습니다. SSH를 통해 에이전트시작하고 마스터에서 명령을 실행하여 에이전트를 시작합니다.

      • SSH를 통해 에이전트 시작: 다음 필드에 대한 값을 지정합니다.

        • 호스트: VM 공용 IP 주소 또는 도메인 이름입니다. 예를 들어 123.123.123.123 또는 example.com

        • 자격 증명: 원격 호스트에 로그인하는 데 사용할 자격 증명을 선택합니다. 추가 단추를 선택하여 새 자격 증명을 정의한 다음, 새 자격 증명이 만들어지면 해당 자격 증명을 선택할 수도 있습니다.

        • 호스트 키 확인 전략: Jenkins가 연결하는 동안 원격 호스트에서 제공하는 SSH 키를 확인하는 방법을 제어합니다.

        SSH를 통해 에이전트 시작 방법을 지정하는 노드 구성 예제입니다.

      • 마스터에서 명령 실행을 통해 에이전트를 시작합니다.

        • agent.jar에서 https://<your_jenkins_host_name>/jnlpJars/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.

        마스터에서 명령을 실행하여 시작 에이전트의 시작 메서드를 지정하는 노드 구성 예제입니다.

  8. 저장을 선택합니다.

구성을 정의한 후 Jenkins는 가상 머신을 새 작업 노드로 추가합니다.

새 작업 노드로 가상 머신의 예

Jenkins에서 작업 만들기

  1. 메뉴에서 새 항목을 선택합니다.

  2. 이름에 를 입력 demoproject1 합니다.

  3. 프리스타일 프로젝트를 선택합니다.

  4. 확인을 선택합니다.

  5. 일반 탭에서 프로젝트를 실행할 수 있는 위치 제한ubuntu에 입력 을 선택합니다. 이전 단계에서 만든 클라우드 구성에서 레이블이 제공됨을 확인하는 메시지가 표시됩니다.

    새 Jenkins 작업 설정

  6. 소스 코드 관리 탭에서 Git을 선택하고 리포지토리 URL 필드에 다음 URL을 추가합니다.https://github.com/spring-projects/spring-petclinic.git

  7. 빌드 탭에서 빌드 단계 추가를 선택한 다음 최상위 Maven 대상을 호출합니다. package 필드에 를 입력합니다.

  8. 저장을 선택합니다.

Azure VM 에이전트에서 새 작업 빌드

  1. 이전 단계에서 만든 작업을 선택합니다.

  2. 지금 빌드를 선택합니다. 새 빌드는 대기 중이지만 Azure 구독에서 에이전트 VM을 만들 때까지 시작되지 않습니다.

  3. 빌드가 완료되면 콘솔 출력으로 이동합니다. 빌드가 Azure 에이전트에서 원격으로 수행된 것을 볼 수 있습니다.

    콘솔 출력

다음 단계