Build Forge는 간단한 오브젝트 세트를 사용하여 프로세스 자동화 설명을 생성합니다.
이 절에서는 주요 개념 및 오브젝트의 개요와 이 개념 및 오브젝트의
관련 방식을 제공합니다. 편리를 위해 자세한 설명에 대한 링크가
포함되어 있습니다.
사용자 및 역할
Build Forge에 액세스하려면 사용자에게
사용자에 맞게 설정된 사용자 오브젝트가 있어야 합니다. 프로덕션 시스템에서
ID 관리 시스템인 LDAP에 액세스하도록 Build Forge를 구성하면 됩니다.
Build Forge는 권한 시스템을 사용하여 모든 오브젝트에 대한 사용자
액세스를 제어합니다. 액세스 그룹 오브젝트에는
권한 목록이 포함됩니다. 사용자는
하나 이상의 액세스 그룹에 속합니다.
사용자 고유의 액세스 그룹을 작성하거나
제공된 액세스 그룹을 수정할 수 있습니다. 시스템에 정의된 액세스 그룹은
다음과 같습니다.
- 빌드 엔지니어 - 프로세스를 정의합니다(프로젝트 및 단계를 작성합니다).
- 시스템 관리자 - 서버 및 기타 시스템 전반의 기능을 관리합니다.
- 보안 - 사용자, 액세스 및 보안을 관리합니다.
- 개발자 - 프로세스 개발을 돕고, 작업을 실행하며, 결과를 봅니다.
- 운영자 - 프로젝트를 복사하고, 작업을 실행하며, 결과를 봅니다.
- 게스트 - 프로젝트를 복사하고, 작업을 실행하며, 결과를 봅니다.
서버
서버 오브젝트는
프로젝트 및 단계가 실행할 수 있는 위치를 정의합니다. 프로젝트 및 단계는
동일한 서버를 사용하거나 하나를 독립적으로 선택할 수 있습니다.
서버 오브젝트는
작업이 수행되는 호스트를 표시합니다. 호스트는 시스템에서 작업을 수신하고
결과를 리턴하기 위해 Build Forge 에이전트를 실행 중이어야 합니다.
다른 오브젝트는 서버에 관련되며 프로젝트 및 단계 정의 이전에
설정해야 합니다.
- 서버 인증: 서버
인증은 서버가 서버에서 지정된 호스트에 액세스하기 위해
사용할 로그인 정보를 저장합니다. 서버 인증은 이 인증을 사용하는 서버를
작성하기 전에 작성해야 합니다. 서버 정의에서, 시스템에 정의된
모든 서버 인증의 목록에서 서버 인증을 선택합니다.
- 콜렉터" 콜렉터 오브젝트는
지정된 서버 특성을 수집합니다. 데이터는 Manifest에 저장됩니다. 서버에는
지정된 기본 특성 세트가 있습니다. 이 빌트인 특성에는 호스트 아키텍처, 네트워크 연결 및
자원(CPU, 메모리, 로드)에 대한 정보가 포함됩니다. 콜렉터 오브젝트를 정의하여 다른 특성을
추가할 수 있습니다. 콜렉터는 서버에 추가하기 전에 작성해야 합니다.
서버 정의에서, 시스템에 정의된 모든 콜렉터의 목록에서
콜렉터를 선택합니다.
- 선택기: 선택기 오브젝트는
프로젝트 또는 단계에서 사용하기 위해 서버를 선택하는 방법을 정의합니다. 선택기가 사용되는
프로젝트에 이 선택기를 추가하기 전에 선택기를 작성해야 합니다. 프로젝트 정의에서,
시스템에 정의된 모든 선택기의 목록에서 선택기를 선택합니다.
- 환경: 환경 오브젝트는
단계에서 사용할 수 있는 변수 세트입니다. 작업 중에, 단계가 실행되기 전에
서버 호스트에서 변수가 설정됩니다. 환경은 서버 오브젝트, 프로젝트 오브젝트 및
단계 오브젝트와 연관될 수 있습니다. 동일한 변수가 다른 환경에서 다른 값으로 설정되는 경우,
상속 방식(scheme)은
사용되는 값을 판별합니다. 서버, 프로젝트 또는 단계에 환경을 추가하기 전에
이 환경을 작성해야 합니다. 환경 오브젝트 정의에서, 시스템에 정의된 모든 환경의 목록에서
환경을 선택합니다.
환경
환경은
변수 세트입니다. 환경은 서버, 프로젝트 및 단계 오브젝트에 지정할 수 있습니다.
단계가 실행될 때 해당 오브젝트 각각에서 설정된 환경이 결합되어
사용할 단계에 대한 변수가 제공됩니다. 환경 정보의 내용을 참조하십시오.
단계가 실행되는 대로 변수를
변경할 수 있습니다. (단계 실행 중 변수 값 변경을 참조하십시오.) 변경 범위는 단계에 국한되거나,
프로젝트에 국한되거나, 영구적(변수가 저장된 환경에서 변경됨)이 될 수 있습니다.
사전정의된 시스템 변수와, 사용자가 정의하는
변수를 사용할 수 있습니다.
프로젝트
프로젝트는
프로세스에서 수행될 작업을 정의합니다. 프로젝트가 시작될 때 작업(job)으로 실행됩니다.
수행될 작업(work)은 단계 목록에 포함됩니다.
기타 오브젝트는
프로젝트에 관련됩니다.
- 선택기: 선택기는
시작될 프로젝트를 결정합니다. 프로젝트에 대해 선택기가 지정되지 않은 경우
프로젝트는 독립적으로 실행될 수 없으며 라이브러리를 호출합니다. 선택기는 작업에 지정되도록
이미 정의되어 있어야 합니다.
- 환경: 환경 오브젝트는
단계에서 사용할 수 있는 변수 세트입니다. 작업 중에, 단계가 실행되기 전에
서버 호스트에서 변수가 설정됩니다. 환경은 서버 오브젝트, 프로젝트 오브젝트 및
단계 오브젝트와 연관될 수 있습니다. 상속 방식은
동일한 변수가 다른 값으로 설정된 경우 사용되는 값을 결정합니다. 환경을 사용하는 서버, 프로젝트 또는 단계를
작성하기 전에 이 환경을 작성해야 합니다. 환경 오브젝트 정의에서, 시스템에 정의된 모든 환경의 목록에서
환경을 선택합니다.
- 알림 템플리트: 알림
템플리트는 작업 활동(작업 시작, 작업 패스, 작업 실패, 기타)에 대한
알림을 전송할 방법을 정의합니다. 알림 오브젝트는 액세스 그룹을 통해
알릴 사용자를 정의합니다. 시스템 설정에서 SMTP 서버의 위치를 지정합니다.
- 클래스: 클래스 오브젝트는
유지보수 목적으로 프로젝트를 그룹화하기 위해 사용됩니다. 일반적으로 클래스는
완료된 작업을 정기적으로 제거하거나 아카이브하기 위해 사용됩니다. 프로젝트를 사용하여 실행된 모든 작업은
클래스에 의해 영향을 받습니다.
- 어댑터: 어댑터는
외부 시스템(일반적으로 소스 코드 관리 시스템)과의 통합을 정의합니다.
여러 샘플 템플리트가
시작점으로 제공됩니다. 연결을 관리하고 시스템에서 지정된 조치를 수행하기 위해
어댑터 템플리트를 추가 구성해야 합니다.
- 어댑터 링크: 어댑터
링크는 어댑터와, 이 어댑터를 사용하는 프로젝트 사이의 관계를 정의합니다.
단계
단계는 수행할 가장 작은 작업 단위입니다.
(단계 정보를 참조하십시오.) 키 컴포넌트는 선택된 서버에서 실행할
명령을 포함하는 명령 특성입니다.
명령 특성은
점(dot) 명령을 실행하기 위해 사용할 수도 있습니다.
점 명령은 프로세스 엔진에서 실행되고 추가 기능을 제공하는 명령입니다.
기타 오브젝트는 프로젝트에 관련됩니다.
- 선택기: 단계에는 고유한 선택기가 있을 수 있습니다.
지정하지 않으면 해당 프로젝트의 선택기를 사용합니다.
- 환경: 단계에는 고유한 환경이 있을 수 있습니다.
서버, 프로젝트 및 단계에서 제공되는 환경이 결합됩니다.
기본적으로 이 순서로 적용되므로, 단계 환경에서 정의된 변수가
동일한 변수 정의에서 우선합니다. 우선순위는 시스템 설정에서
제어할 수 있습니다.
- 로그 필터: 단계에는 결과 특성에서 로그 필터가 지정될 수 있습니다.
로그 필터 오브젝트는
단계가 패스 또는 실패인지 여부를 표시하는 조건을 지정하기 위해 사용됩니다.
Perl 표현식을 사용하여 특정 패턴에 대해 로그를 스캔합니다.
보통 명령의 종료 상태가 사용되지만, 로그 필터는 대체 수단을 제공합니다.
로그 필터는 단계에서 지정하지 하기 전에 작성해야 합니다.
단계에 대한 결과 특성에서, 시스템에 정의된 모든 로그 필터 목록에서
로그 필터를 선택합니다.
- 알림 템플리트: 알림
템플리트는 단계 활동(단계 시작, 단계 패스, 단계 실패, 기타)에 대한
알림을 전송할 방법을 정의합니다. 알림 오브젝트는 액세스 그룹을 통해
알릴 사용자를 정의합니다. 시스템 설정에서 SMTP 서버의 위치를 지정합니다.
- Build Catalyst: 단계는 rafmake(Build
Catalyst의 주요 유틸리티)를 실행할 수 있습니다. Build Catalyst는 make-based 빌드를
가속화하기 위한 수단을 제공합니다. Build Catalyst는 Build Forge 에이전트 외에,
make 빌드가 실행되는 동일한 호스트에 설치해야 합니다.
작업(Job)
작업은
실행 중인 프로젝트입니다. 작업이 시작되면,
프로세스 엔진은 작업을 큐에 넣고 실행합니다. 사용자는 작업 패널에서 상태를
확인할 수 있습니다. 완료되면 다음 정보를 사용할 수 있습니다.
- 결과: 작업을 열어서 모든 단계의 결과를
검토할 수 있습니다. 또한 실행 중인 작업을 열어서 해당 진행상태를
모니터할 수도 있습니다.
- 단계 로그: 단계 로그는 Manifest 및 환경 설정 정보와 실행 결과를 포함하여,
단계가 실행된 방법에 대한 포괄적인 정보를 기록합니다.
로그를 보려면 결과 페이지에서 단계 결과 링크를 클릭하십시오.
- 명세서: 명세서(BOM)에는
작업 단계 및 단계 Manifest에 대한 정보가 있습니다.
.bom 점(dot) 명령을 사용하여
BOM에 대한 추가 정보를 형식화하고 데이터를 BOM에 기록할 수 있습니다.
.scan 점 명령을 사용하여 기준선 및
체크포인트를 BOM에 추가할 수 있습니다.
작업을 취소하고 다시 시작할 수 있습니다. 스케줄에
프로젝트를 추가하여 프로젝트가 스케줄된 시간에 실행되도록 할 수 있습니다.