개발자는 변경을 커밋할 때마다 온-프레미스 GitHub 인스턴스에서 자동화 클라우드 템플릿을 가져오는 파이프라인이 필요합니다. WordPress 애플리케이션을 AWS(Amazon Web Services) EC2 또는 데이터 센터에 배포하는 파이프라인이 필요합니다. Automation Pipelines은 파이프라인에서 클라우드 템플릿을 호출하고 이 클라우드 템플릿의 CICD(지속적 통합 및 전달)를 자동화하여 애플리케이션을 배포합니다.

파이프라인을 생성하고 트리거하려면 Automation Assembler에 클라우드 템플릿이 필요합니다.

Automation Pipelines 클라우드 템플릿 작업의 템플릿 소스에 대해 다음을 선택할 수 있습니다.

  • Automation Assembler를 소스 제어로 선택합니다. 이 경우 GitLab 또는 GitHub 저장소는 필요하지 않습니다.
  • 소스 제어로 GitLab 또는 GitHub를 사용하는 경우 소스 제어를 선택합니다. 이 경우 Git Webhook이 있어야 하며 Webhook을 통해 파이프라인을 트리거해야 합니다.

GitHub 저장소에 YAML 클라우드 템플릿이 있고 파이프라인에서 클라우드 템플릿을 사용하려는 경우 다음 작업을 수행해야 합니다.

  1. Automation Assembler에서 클라우드 템플릿을 GitHub 저장소로 푸시합니다.
  2. Automation Pipelines에서 Git 끝점을 생성합니다. 그런 다음 Git 끝점과 파이프라인을 사용하는 Git Webhook을 생성합니다.
  3. 파이프라인을 트리거하려면 GitHub 저장소에 있는 모든 파일을 업데이트하고 변경을 커밋합니다.

GitHub 저장소에 YAML 클라우드 템플릿이 없고 소스 제어의 클라우드 템플릿을 사용하려는 경우 이 절차를 사용하면 그 방법을 알 수 있습니다. 이 절차는 WordPress 애플리케이션에 대한 클라우드 템플릿을 생성하고 온-프레미스 GitHub 저장소에서 이 클라우드 템플릿을 트리거하는 방법을 보여줍니다. YAML 클라우드 템플릿을 변경할 때마다 파이프라인이 애플리케이션의 릴리스를 트리거하고 자동화합니다.

  • Automation Assembler에서 클라우드 계정을 추가하고, 클라우드 영역을 추가하고, 클라우드 템플릿을 생성합니다.
  • Automation Pipelines에서 클라우드 템플릿을 호스팅하는 온-프레미스 GitHub 저장소에 대한 끝점을 추가합니다. 그런 다음 클라우드 템플릿을 파이프라인에 추가합니다.

이 사용 사례 예는 온-프레미스 GitHub 저장소의 클라우드 템플릿을 사용하는 방법을 보여줍니다.

워크플로는 YAML 클라우드 템플릿에서 배포하는 애플리케이션의 릴리스를 자동화하는 프로세스를 탐색하는 데 유용합니다.

사전 요구 사항

  • WordPress 애플리케이션의 YAML 코드를 GitHub 인스턴스에 추가합니다.
  • 변경 내용을 커밋할 때마다 파이프라인에서 YAML 코드를 끌어올 수 있도록 Git 트리거에 대한 Webhook를 추가합니다. Automation Pipelines에서 트리거 > Git > Git에 대한 Webhook을 클릭합니다.
  • 클라우드 템플릿 작업을 사용하려면 Automation Assembler 역할 중 하나가 있어야 합니다.

프로시저

  1. Automation Assembler에서 다음 단계를 따릅니다.
    1. 템플릿을 클릭한 다음 클라우드 템플릿 및 WordPress 애플리케이션에 대한 배포를 생성합니다.
    2. 클립보드에 복사한 WordPress YAML 코드를 클라우드 템플릿에 붙여 넣고 배포합니다.
      YAML 코드를 사용하여 클라우드 템플릿은 배포에 데이터베이스 계층, 웹 계층 및 네트워크를 생성합니다.
  2. Automation Pipelines에서 끝점을 생성합니다.
    1. YAML 파일이 상주하는 온 프레미스 GitHub 저장소에 대한 Git 끝점을 생성합니다.
    2. 파이프라인이 실행되면 파이프라인 상태를 사용자에게 알릴 수 있는 이메일 끝점을 추가합니다.


      이메일 끝점을 추가할 때 암호화 방법을 설정하고 아웃바운드 프로토콜을 설정합니다.
  3. 파이프라인을 생성하고 파이프라인 성공 및 실패에 대한 알림을 추가합니다.

    이메일 알림을 추가할 때 파이프라인 상태 중 하나를 선택하고 이메일 서버와 받는 사람을 선택합니다.
  4. 개발에 대한 단계를 추가하고 클라우드 템플릿 작업을 추가합니다.
    1. 시스템을 배포하는 클라우드 템플릿 작업을 추가하고, WordPress 애플리케이션에 클라우드 템플릿 YAML을 사용하도록 작업을 구성합니다.
      resources:
        DBTier:    
          type: Cloud.Machine    
          properties:      
              name: mysql      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  -   tag: zone:dev
        WebTier:
          type: Cloud.Machine    
          properties:     
              name: wordpress      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  - tag: zone:dev
       WP-Network-Private:
          type: Cloud.Network
          properties:
              name: WP-Network-Private
              networkType: existing
              constraints:
                  - tag: 'type:isolated-net'
                  - tag: 'zone:dev'
    2. 리소스를 확보하기 위해 시스템을 제거하는 클라우드 템플릿 작업을 추가합니다.
  5. 운영을 위한 단계를 추가하고 승인 및 배포 작업을 추가합니다.
    1. WordPress 애플리케이션을 운영 환경에 푸시하기 위해 승인을 요구하는 [사용자 작업] 작업을 추가합니다.
    2. 시스템을 배포하는 클라우드 템플릿 작업을 추가하고, WordPress 애플리케이션용 클라우드 템플릿 YAML을 사용하여 작업을 구성합니다.
      생성을 선택할 때 배포 이름이 고유해야 합니다. 이름을 비워 두면 Automation Pipelines은 고유한 임의의 이름을 할당합니다.
      자체 사용 사례에서 롤백을 선택하는 경우 알아야 할 내용은 다음과 같습니다. 롤백 작업을 선택하고 롤백 버전을 선택하는 경우 버전은 n-X 형식이어야 합니다. 예를 들어 n-1, n-2, n-3 등을 사용할 수 있습니다. Automation Pipelines 이외의 위치에서 배포를 생성하고 업데이트하는 경우 롤백이 허용됩니다.
      클라우드 템플릿 작업은 Automation Assembler에서 VMware 클라우드 템플릿을 사용하거나 GitLab 저장소 또는 GitHub 저장소의 소스 제어에서 끌어올 수 있습니다.
  6. 파이프라인을 실행합니다.

    각 작업이 성공적으로 완료되었는지 확인하려면 실행에서 작업을 클릭하고 배포 세부 정보에서 상태를 검사하여 자세한 리소스 정보를 살펴봅니다.

  7. GitHub에서 WordPress 서버 인스턴스의 버전을 small에서 medium으로 수정합니다.
    변경 내용을 커밋하면 파이프라인이 트리거됩니다. 업데이트된 코드를 GitHub 저장소에서 끌어와서 애플리케이션을 구축합니다.
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. 파이프라인을 다시 실행한 후 파이프라인이 성공했는지 그리고 WordPress 인스턴스의 버전이 small에서 medium으로 변경되었는지 확인합니다.

결과

축하합니다! YAML 클라우드 템플릿에서 배포한 애플리케이션의 릴리스를 자동화했습니다.

다음에 수행할 작업

Automation Pipelines 사용 방법에 대한 자세한 내용을 보려면 Automation Pipelines 사용을 위한 자습서 항목을 참조하십시오.

자세한 내용은 VMware Aria Automation 시작 아래의 추가 리소스를 참조하십시오.