< 이전 | 다음 >

학습 2: 컴포넌트 프로세스 작성

컴포넌트 프로세스는 컴포넌트에서 실행하는 자동화된 태스크에 대해 설명합니다. 컴포넌트 프로세스는 컴포넌트에 다른 태스크를 배치, 설치, 설치 제거, 업데이트 또는 실행할 수 있습니다.
세 가지 유형의 프로세스가 있습니다.
  • 일반 프로세스는 컴포넌트 또는 애플리케이션의 컨텍스트 외부에서 실행됩니다.
  • 애플리케이션 프로세스는 애플리케이션의 컨텍스트 내부에서 실행됩니다. 많은 경우에 애플리케이션 프로세스가 컴포넌트 프로세스를 호출합니다. 예를 들어, 애플리케이션 프로세스는 해당 컴포넌트를 배치하는 컴포넌트 프로세스를 호출할 수 있습니다.
  • 컴포넌트 프로세스는 단일 컴포넌트에서 태스크를 실행합니다. 예를 들어, 컴포넌트를 배치하거나 설치 제거하거나 컴포넌트에 대한 구성 태스크를 실행합니다.

프로세스는 단계 및 해당 단계 사이의 연결 목록입니다. 각 단계는 대상 컴퓨터에서 실행되는 개별적 명령입니다. 단계는 파일을 조작하고 시스템 명령을 실행하고 파일을 다운로드하고 프로그램을 실행할 수 있습니다. 플러그인은 이러한 단계에 도움을 줍니다. 플러그인은 수많은 다양한 유형의 소프트웨어와 함께 해당 작업에서 사용 가능합니다.

컴포넌트를 배치하거나 설치하려면 각 컴포넌트에 하나 이상의 컴포넌트 프로세스가 있어야 합니다. 이 학습 과정에서는 세 컴포넌트 각각의 배치 프로세스를 작성합니다. 나중에 이러한 컴포넌트 프로세스를 호출하여 각 컴포넌트를 배치하는 애플리케이션 프로세스를 작성합니다.

웹 컴포넌트의 컴포넌트 프로세스 작성

웹 컴포넌트의 컴포넌트 프로세스는 컴포넌트 아티팩트의 최신 버전을 다운로드하여 올바른 폴더에 둡니다.
다음 단계에 따라 웹 컴포넌트를 배치하는 컴포넌트 프로세스를 작성하십시오.
  1. 컴포넌트 탭에서 JPetStore-WEB 컴포넌트를 클릭하십시오.
  2. 프로세스를 클릭한 다음 새 프로세스 작성을 클릭하십시오.
  3. 새 프로세스 작성 창에서 이름이 웹 컴포넌트 배치가 되도록 지정하십시오.
  4. 프로세스 유형목록에서 배치를 선택하십시오. 이 목록에는 컴포넌트를 설치 제거하거나 구성하는 프로세스의 기타 옵션이 있습니다.
  5. 다른 특성의 기본값을 승인하고 저장을 클릭하십시오.
  6. 프로세스의 목록에서 새 프로세스를 클릭하십시오. 프로세스 편집기에 프로세스가 열립니다. 이 편집기는 그래픽 양식의 프로세스 단계를 플로우 차트로 보여줍니다. 시작완료 상자는 프로세스의 시작과 끝을 나타냅니다. 여기에서 프로세스에 단계를 추가하고 시작완료 단계 사이에 단계를 링크하여 순서를 표시합니다.
  7. 작업 디렉터리의 모든 파일을 정리하는 단계를 추가하십시오. 프로세스는 작업 디렉터리에서 실행됩니다. 웹 컴포넌트에서 최신 버전의 파일을 사용하도록 하려면 다음과 같은 명령을 실행하여 작업 디렉토리를 정리하십시오.
    1. 프로세스 편집기의 왼쪽에 있는 사용 가능한 플러그인 단계에서 유틸리티 > FileUtils를 펼치십시오. 사용 가능한 플러그인 단계 메뉴는 사용 가능한 단계를 보여줍니다. 트리를 탐색하여 단계를 찾거나 창의 맨 위에 있는 검색 상자에 입력할 수 있습니다.
    2. FileUtils 트리 항목에서 파일 및 디렉토리 삭제 단계를 클릭하여 프로세스 편집기에 끌어오십시오. 특성 편집 창이 열리고 단계의 특성을 표시합니다. 이러한 특성의 일부는 단계에 고유하고 다른 특성은 모든 단계에 동일합니다.
    3. 이름 필드에서 이름이 작업 디렉토리 정리가 되도록 지정하십시오.
    4. 기본 디렉토리 필드에 하나의 마침표(.)를 지정하십시오..
    5. 포함 필드에서 별표(*)를 지정하십시오.
    6. 다른 특성의 기본값을 승인하고 저장을 클릭하십시오.
    새 단계가 프로세스 편집기의 상자로 표시됩니다. 나중에 이 단계를 프로세스의 다른 단계에 연결합니다. 프로세스 편집기는 다음 그림과 같습니다.
    플로우의 한 단계로 구성된 새 프로세스
  8. 컴포넌트 아티팩트의 최신 버전을 다운로드하는 단계를 추가하십시오. 대부분의 배치 프로세스에서 Download Artifacts 단계를 사용합니다. 이 단계는 지정된 버전의 컴포넌트 아티팩트를 대상 컴퓨터에 다운로드합니다. 프로세스를 실행할 때 사용할 컴포넌트 아티팩트 버전(최신 버전 또는 특정 버전)을 지정합니다.
    1. 사용 가능한 플러그인 단계에서 저장소 > 아티팩트 > IBM UrbanCode Deploy를 펼치고 아티팩트 다운로드 단계를 프로세스 편집기로 끌어오십시오.
    2. 특성 편집 창에서 기본값을 승인한 다음 저장을 클릭하십시오.
  9. 다음과 같이 서버에서 이전 웹 컨텐츠를 제거하는 단계를 추가하십시오.
    1. 유틸리티 > FileUtils를 펼치고 다른 파일 및 디렉토리 삭제 단계를 프로세스 편집기로 끌어오십시오.
    2. 특성 편집 창에서 이름이 이전 컨텐츠 제거가 되도록 지정하십시오.
    3. 기본 디렉토리 필드에 다음 디렉토리를 지정하십시오.
      webapps/JPetStore
    4. 포함 필드에 다음 디렉토리를 지정하십시오.
      images
    5. 작업 디렉토리 필드에 다음 변수를 지정하십시오.
      ${p:environment/tomcat.home}
      이 변수는 Tomcat 웹 서버의 메인 폴더를 나타냅니다. 이 변수의 값을 나중에 지정할 수 있습니다.
    6. 다른 필드의 기본값을 승인하고 저장을 클릭하십시오.
  10. 서버에 새 컨텐츠를 배치하는 단계를 추가하십시오. 이 단계는 컴포넌트 아티팩트를 애플리케이션 서버에 복사합니다.
    1. 유틸리티 > FileUtils를 펼치고 다른 디렉토리 이동 단계를 프로세스 편집기로 끌어오십시오.
    2. 특성 편집 창에서 이름이 새 컨텐츠 배치가 되도록 지정하십시오.
    3. 소스 디렉토리 필드에 하나의 마침표(.)를 지정하십시오..
    4. 대상 디렉토리 필드에 다음 디렉토리를 지정하십시오.
      ${p:environment/tomcat.home}/webapps/JPetStore/
    5. 포함 파일 필드에 다음 디렉토리를 지정하십시오.
      images/*
    6. 다른 필드의 기본값을 승인하고 저장을 클릭하십시오.
    이제 다음 그림에서와 같이 프로세스에는 네 개의 단계가 있습니다:
    시작 단계와 완료 단계 사이에
순서대로 배치된 프로세스의 네 가지 단계

각 단계의 상단 오른쪽에는 두 개의 아이콘이 있습니다. 초록색 편집 아이콘 을 클릭하면 단계를 작성할 때 열리는 창과 동일한 특성 편집 창이 열립니다. X 아이콘 은 단계를 삭제합니다.

단계 위로 마우스를 이동하면 단계의 가운데에 화살표 아이콘이 표시됩니다. 이 아이콘은 단계 사이에 링크를 작성하는 데 사용합니다.

단계의 가운데에 있는 화살표 단추 클릭

  1. 다음과 같이 실행되는 순서대로 단계를 연결하십시오.
    1. 시작단계 위로 마우스를 이동하고 화살표 아이콘을 클릭하여 Clean working directory 단계로 끌어오십시오. 이 단계 사이의 화살표는 다음 그림에서와 같이 한 단계에서 다른 단계로 활동의 플로우를 나타냅니다:
      시작 단계를 Clean working directory 단계에
연결하는 링크
    2. 마찬가지로 Clean working directory 단계에서 Download Artifacts 단계로 화살표를 끌어오십시오.
    3. Download Artifacts 단계에서 Remove old content 단계로 화살표를 끌어오십시오.
    4. Remove old content 단계에서 Deploy new content 단계로 화살표를 끌어오십시오.
    5. Deploy new content 단계에서 Finish 단계로 화살표를 끌어오십시오.
    이러한 단계와 같은 순서로 단계를 연결하거나 추가 링크를 작성하여 단계를 병렬로 실행할 수 있습니다. 그러나 프로세스는 항상 시작 단계로 시작하여 종료 단계로 종료됩니다. 이 프로세스의 단계 순서는 다음과 같습니다.
    1. Start
    2. Clean working directory
    3. Download Artifacts
    4. Remove old content
    5. Deploy new content
    6. Finish
  2. 도구에서 저장 아이콘을 클릭하여 프로세스를 저장하십시오.
웹 컴포넌트의 완전한 컴포넌트 프로세스는 다음 그림과 같습니다.
이전 버전의 아티팩트는 제거하고 새 버전을 애플리케이션 서버에
배치하는 완전한 컴포넌트 프로세스

애플리케이션 컴포넌트의 컴포넌트 프로세스 작성

애플리케이션 컴포넌트는 단일 WAR 파일로 구성됩니다. 이 컴포넌트 프로세스는 최신 버전의 WAR 파일을 다운로드하고 파일의 값을 업데이트하며 애플리케이션 서버에 파일을 배치합니다.
  1. 컴포넌트 탭에서 JPetStore-APP 컴포넌트를 클릭하십시오.
  2. 프로세스를 클릭한 다음 새 프로세스 작성을 클릭하십시오.
  3. 새 프로세스 작성 창에서 이름이 애플리케이션 컴포넌트 배치가 되도록 지정하십시오.
  4. 프로세스 유형목록에서 배치를 선택하십시오.
  5. 다른 특성의 기본값을 승인하고 저장을 클릭하십시오.
  6. 프로세스 목록에서 새 프로세스를 클릭하여 프로세스 편집기에서 여십시오.
  7. 작업 디렉토리를 정리하는 단계를 추가하십시오. 웹 컴포넌트에 대해 수행한 대로 작업 디렉토리 정리라는 파일 및 디렉토리 삭제 단계를 추가하고 기본 디렉토리 필드에는 마침표, 포함 필드에서 별표를 지정하십시오.
  8. 아티팩트를 다운로드하는 단계를 추가하십시오. 웹 컴포넌트에 대해 수행한 대로 Download Artifacts 단계를 추가하고 기본 특성을 승인하십시오.
  9. WAR 파일의 압축을 푸는 단계를 추가하십시오. 데이터베이스 연결 정보로 특성 파일을 업데이트할 수 있도록 WAR 파일의 압축을 풀어야 합니다.
    1. 단계 목록에서 유틸리티 > FileUtils 폴더를 펼치고 압축 해제 단계를 프로세스 편집기에 끌어오십시오.
    2. 이름이 WAR 펼치기가 되도록 지정하십시오.
    3. 디렉토리 압축 풀기 필드에 다음 코드를 지정하십시오.
      ./JPetStore_expanded
    4. .zip 파일 필드에 다음 파일을 지정하십시오.
      JPetStore.war
    5. 저장을 클릭하십시오.
  10. 데이터베이스 위치로 특성 파일을 업데이트하는 단계를 추가하십시오.
    1. 단계 목록에서 유틸리티 > FileUtils 폴더를 펼치고 특성 파일 업데이트 단계를 프로세스 편집기에 추가하십시오.
    2. 이름이 특성 파일 업데이트가 되도록 지정하십시오.
    3. 디렉토리 오프셋 필드에 다음 폴더를 지정하십시오.
      ./JPetStore_expanded/WEB-INF/classes/properties
    4. 특성 파일 필드에서 다음 파일을 지정하십시오.
      database.properties
    5. 특성 추가/업데이트 필드에 다음 코드를 지정하십시오.
      url=${p:environment/db.url}
      이 코드는 특성 파일의 url 특성을 데이터베이스 위치로 업데이트합니다. ${p:environment/db.url} 코드는 애플리케이션을 배치할 때 데이터베이스 컴포넌트의 위치를 나타내는 변수입니다.
    6. 저장을 클릭하십시오.
  11. 새 특성 파일로 WAR 파일을 업데이트하는 단계를 추가하십시오.
    1. 단계 목록에서 유틸리티 > FileUtils 폴더를 펼치고 .zip 파일 작성 단계를 프로세스 편집기에 추가하십시오.
    2. 이름이 WAR 업데이트가 되도록 지정하십시오.
    3. .zip 파일 이름 필드에서 JPetStore.war 파일을 지정하십시오.
    4. 기본 디렉토리 필드에 다음 폴더를 지정하십시오.
      ./JPetStore_expanded
    5. 포함 필드에 다음 코드를 지정하십시오.
      **/*
    6. 기존 항목 업데이트 선택란을 선택하십시오.
    7. 저장을 클릭하십시오.
  12. 다음과 같이 Tomcat를 시작하는 단계를 추가하십시오.
    1. 단계 목록에서 애플리케이션 서버 > Java > Tomcat 폴더를 펼치고 Tomcat 시작 단계를 프로세스 편집기에 추가하십시오. 이 단계가 트리에 없는 경우 이 학습서의 전제조건에 설명된 대로 Tomcat 플러그인을 설치하십시오.
    2. 기본 이름인 Tomcat 시작을 승인하십시오.
    3. 실행기 필드에 다음 코드를 지정하십시오.
      ${p:environment/tomcat.start}
      이 코드는 Tomcat을 시작하는 명령을 나타내는 또 다른 변수입니다.
    4. 시작 제한시간(초) 필드에 60초를 지정하십시오.
    5. 포트 필드에서 8080 포트를 지정하십시오.
    6. 저장을 클릭하십시오.
  13. 애플리케이션의 이전 버전을 제거하는 단계를 추가하십시오.
    1. 단계 목록에서 애플리케이션 서버 > Java > Tomcat 폴더를 펼치고 애플리케이션 배치 취소 단계를 프로세스 편집기에 추가하십시오.
    2. 기본 이름인 애플리케이션 배치 취소를 승인하십시오.
    3. Tomcat 관리자 URL 필드에 다음 코드를 지정하십시오.
      ${p:environment/tomcat.manager.url}
    4. Tomcat 관리자 사용자 이름 필드에 Tomcat 서버의 사용자 이름을 지정하십시오. 에이전트와 대상 시스템 구성에 이 사용자 이름과 비빌번호를 지정합니다. 이 주제의 코드 예제를 사용한 경우 사용자 이름과 비밀번호는 tomcatmanager입니다.
    5. Tomcat 관리자 비밀번호 필드에 Tomcat 서버의 비밀번호를 지정하십시오.
    6. 컨텍스트 이름 필드에 선행하는 슬래시가 포함된 다음 컨텍스트 이름을 지정하십시오.
      /JPetStore
    7. 저장을 클릭하십시오.
  14. 다음과 같이 업데이트된 WAR 파일을 애플리케이션 서버에 배치하는 단계를 추가하십시오.
    1. 단계 목록에서 애플리케이션 서버 > Java > Tomcat 폴더를 펼치고 애플리케이션 배치 단계를 프로세스 편집기에 추가하십시오.
    2. 기본 이름인 애플리케이션 배치를 승인하십시오.
    3. Tomcat 관리자 URL 필드에 다음 코드를 지정하십시오.
      ${p:environment/tomcat.manager.url}
    4. Tomcat 관리자 사용자 이름 필드에 Tomcat 서버의 사용자 이름을 지정하십시오.
    5. Tomcat 관리자 비밀번호 필드에 Tomcat 서버의 비밀번호를 지정하십시오.
    6. 컨텍스트 이름 필드에서 다음 컨텍스트 이름을 지정하십시오.
      /JPetStore
    7. War 파일 경로 필드에 다음 경로를 지정하십시오.
      ./JPetStore.war
    8. 저장을 클릭하십시오.
  15. 다음 순서로 단계를 연결하십시오.
    1. Start
    2. Clean working directory
    3. Download Artifacts
    4. Expand WAR
    5. Update Property File
    6. Update WAR
    7. Start Tomcat
    8. Undeploy Application
    9. Deploy Application
    10. Finish
  16. 다음 그림에 표시된 대로 연결의 초록색 선택 표시가 회색 원이 될 때까지 클릭하여 Undeploy ApplicationDeploy Application 단계 사이의 링크에서 조건부 플래그를 both로 변경하십시오.
    Undeploy Application 단계와 Deploy
Application 단계 사이의 초록색 선택 표시를 클릭하여
회색 원으로 전환
    한 단계와 다른 단계의 각 연결에는 조건부 플래그가 있습니다. 조건부 플래그는 연결의 조건을 지정합니다. 다음과 같은 세 개의 조건부 플래그를 사용할 수 있습니다.
    • 기본적으로 각 연결의 조건부 플래그는 success로 설정되며 초록색 선택 표시로 표시됩니다. 단계에 성공하면 프로세스가 이 연결을 따라 진행합니다.
    • 조건부 플래그 fail은 빨간색 대시(-)로 표시됩니다. 단계에 실패하면 프로세스가 이 연결을 따라 진행합니다.
    • 조건부 플래그 both는 회색 원으로 표시됩니다. 단계의 성공 여부에 상관없이 프로세스가 이 연결을 따라 진행합니다.
    Undeploy Application 단계는 이전 버전의 애플리케이션이 설치되지 않은 경우 실패합니다. 이 경우 연결의 조건부 플래그를 both로 설정하면 단계가 실패하건 성공하건 프로세스가 계속 실행되도록 지정합니다.
  17. 프로세스를 저장하십시오.
애플리케이션 컴포넌트의 전체 컴포넌트 프로세스는 다음 그림과 같습니다.
애플리케이션을 배치하는 전체 컴포넌트 프로세스

데이터베이스 컴포넌트의 컴포넌트 프로세스 작성

데이터베이스 컴포넌트의 배치 프로세스는 데이터베이스를 샘플 값으로 업데이트합니다.
  1. 컴포넌트 탭에서 JPetStore-DB 컴포넌트를 클릭하십시오.
  2. 프로세스를 클릭한 다음 새 프로세스 작성을 클릭하십시오.
  3. 새 프로세스 작성 창에서 이름이 데이터베이스 컴포넌트 배치가 되도록 지정하십시오.
  4. 프로세스 유형목록에서 배치를 선택하십시오.
  5. 다른 특성의 기본값을 승인하고 저장을 클릭하십시오.
  6. 프로세스 목록에서 새 프로세스를 클릭하여 프로세스 편집기에서 여십시오.
  7. 아티팩트를 다운로드하는 단계를 추가하십시오. 웹 컴포넌트에 대해 수행한 대로 Download Artifacts 단계를 추가하고 기본 특성을 승인하십시오.
  8. 다음과 같이 데이터베이스를 업데이트하는 단계를 추가하십시오.
    1. 단계 목록에서 데이터베이스 > DBUpgrader 폴더를 펼치고 DB 업그레이드 단계를 프로세스 편집기에 추가하십시오. 이 단계가 트리에 없는 경우 이 학습서의 전제조건에 설명된 대로 데이터베이스 업그레이드 플러그인을 설치하십시오.
    2. 특성 편집 창의 이름 필드에서 기본값인 DB 업그레이드를 승인하십시오.
    3. 드라이버 클래스 이름 필드에 다음 클래스를 지정하십시오.
      com.mysql.jdbc.Driver
    4. DB 드라이버 Jar 필드에 다음 경로를 지정하십시오.
      lib/mysql-connector-java-5.1.20-bin.jar
      이 파일은 컴포넌트의 소스 코드에 제공됩니다.
    5. URL 필드에서 다음 변수를 지정하십시오.
      ${p:environment/db.url}
    6. 사용자 필드에서 데이터베이스 사용자의 사용자 ID를 지정하십시오. 에이전트와 대상 시스템 구성의 예를 사용한 경우 사용자 ID는 jpetstore입니다.
    7. 비밀번호 필드에 데이터베이스 사용자의 비밀번호를 지정하십시오. 에이전트와 대상 시스템 구성의 예를 사용한 경우 비밀번호는 jppwd입니다.
    8. SQL 파일 경로 필드에 하나의 마침표(.)를 지정하십시오.
    9. SQL 파일 포함 필드에 *.xml 확장자를 지정하십시오.
    10. 현재 버전 SQL 필드에 다음 SQL 코드를 지정하십시오.
      SELECT VER FROM DB_VERSION WHERE RELEASE_NAME = ?
    11. 버전 SQL 삭제 필드에 다음 SQL 코드를 지정하십시오.
      DELETE FROM DB_VERSION WHERE RELEASE_NAME = ?
    12. 버전 SQL 업데이트 필드에 다음 SQL 코드를 지정하십시오.
      INSERT INTO DB_VERSION (RELEASE_NAME,VER) VALUES(?,?)
    13. 저장을 클릭하십시오.
  9. 다음 순서로 단계를 연결하십시오.
    1. Start
    2. Download Artifacts
    3. Upgrade DB
    4. Finish
  10. 프로세스를 저장하십시오.
데이터베이스 컴포넌트의 전체 컴포넌트 프로세스는 다음 그림과 같습니다.
데이터베이스를 배치하는 전체 컴포넌트 프로세스

학습 체크포인트

이 학습 과정에서는 컴포넌트를 배치하는 컴포넌트 프로세스를 작성했습니다.

컴포넌트 프로세스를 사용하여 컴포넌트에 대한 여러 다른 태스크를 자동화할 수 있습니다. 그러나 컴포넌트 프로세스를 직접 실행할 수는 없습니다. 대부분의 경우 애플리케이션 프로세스에 추가합니다. 이 학습서의 나중 부분에서 이 세 가지 컴포넌트 프로세스의 애플리케이션 프로세스를 작성합니다.

프로세스는 플러그인에 의해 제공되는 단계로 구성됩니다. 사용 가능한 플러그인의 목록을 보고 해당 플러그인 및 단계에 대한 문서를 확인하려면 IBM developerWorks: UrbanCode Deploy 플러그인을 참조하십시오.

< 이전 | 다음 >

피드백