자습서: Azure Container Instances를 Jenkins 빌드 에이전트로 사용

Important

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

ACI(Azure Container Instances)는 컨테이너화된 워크로드를 실행하기 위한 주문형, 버스트 가능 및 격리된 환경을 제공합니다. 이러한 특성 때문에 ACI는 Jenkins 빌드 작업을 대규모로 실행하기 위한 훌륭한 플랫폼을 만듭니다. 이 문서에서는 ACI를 배포하고 Jenkins 컨트롤러에 대한 영구 빌드 에이전트로 추가하는 방법을 보여줍니다.

Azure Container Instances에 대한 자세한 내용은 Azure Container Instances 정보를 참조 하세요.

필수 조건

Jenkins 컨트롤러 준비

  1. Jenkins 포털로 이동합니다.

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

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

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

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

  6. 보안에서 글로벌 보안 구성을 선택합니다.

  7. 에이전트에서 고정 포트를 지정하고 환경에 적합한 포트 번호를 입력합니다.

    구성 예제: Configure TCP port

  8. 저장을 선택합니다.

Jenkins 작업 에이전트 만들기

  1. Jenkins 포털로 이동합니다.

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

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

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

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

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

  7. 확인을 선택합니다.

  8. 원격 루트 디렉터리에 대한 값을 입력합니다. 예를 들어 /home/jenkins/work

  9. 레이블 추가(레이블은 여러 에이전트를 하나의 논리 그룹으로 그룹화하기 위해 사용됩니다. 레이블 linux 의 예로 Linux 에이전트를 그룹화할 수 있습니다.) 값linux은 다음과 같습니다.

  10. 마스터에 연결하여 Launch 메서드를 Launch 에이전트로 설정합니다.

  11. 모든 필수 필드가 지정되었거나 입력되었는지 확인합니다.

    Example Jenkins agent configuration

  12. 저장을 선택합니다.

  13. 에이전트 상태 페이지에서 다음을 JENKINS_SECRETAGENT_NAME표시해야 합니다. 다음 스크린샷은 값을 식별하는 방법을 보여줍니다. Azure Container Instance를 만들 때 두 값이 모두 필요합니다.

    The build-agent secret is displays after its successful creation.

CLI를 사용하여 Azure Container Instance 만들기

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

    az group create --name my-resourcegroup --location westus
    
  2. az container create를 사용하여 Azure Container Instance를 만듭니다. 자리 표시자를 작업 에이전트를 만들 때 얻은 값으로 바꿉다.

    az container create \
      --name my-dock \
      --resource-group my-resourcegroup \
      --ip-address Public --image jenkins/inbound-agent:latest \
      --os-type linux \
      --ports 80 \
      --command-line "jenkins-agent -url http://jenkinsserver:port <JENKINS_SECRET> <AGENT_NAME>"
    

    <JENKINS_SECRET>Jenkins 컨트롤러 및 <AGENT_NAME> 에이전트 정보로 대체http://jenkinsserver:port합니다. 컨테이너가 시작되면 Jenkins 컨트롤러 서버에 자동으로 연결됩니다.

  3. Jenkins 대시보드로 돌아가서 에이전트 상태를 확인합니다.

    Agent has started successfully

    참고 항목

    Jenkins 에이전트는 포트 5000를 통해 컨트롤러에 연결합니다. 포트가 Jenkins 컨트롤러에 대한 인바운드로 허용되는지 확인합니다.

빌드 작업 만들기

이제 Azure 컨테이너 인스턴스에서 Jenkins 빌드를 보여 주는 Jenkins 빌드 작업이 만들어집니다.

  1. 새 항목을 선택하고, 빌드 프로젝트에 aci-demo와 같은 이름을 지정하고, 자유형 프로젝트를 선택하고, 확인을 선택합니다.

    Box for the name of the build job, and list of project types

  2. 일반에서 이 프로젝트를 실행할 수 있는 위치 제한이 선택되어 있는지 확인합니다. 레이블 식에 대한 Linux를 입력합니다. 이 구성은 이 빌드 작업이 ACI 클라우드에서 실행되도록 합니다.

  3. 빌드에서 빌드 단계 추가를 선택하고 실행을 선택합니다. 명령으로 입력 echo "aci-demo" 합니다.

  4. 저장을 선택합니다.

빌드 작업 실행

빌드 작업을 테스트하고 Azure Container Instances가 수동으로 빌드를 시작하는지 확인합니다.

  1. 지금 빌드를 선택하여 빌드 작업을 시작합니다. 작업이 시작되면 다음 이미지와 유사한 상태 표시됩니다.

  2. 빌드 기록에서 #1을 클릭합니다.

  3. 콘솔 출력을 선택하여 빌드 출력을 봅니다.

다음 단계