Code Stream은 vRO 워크플로를 실행하여 기능을 확장하기 위해 vRO(vRealize Orchestrator)와 통합할 수 있습니다. vRealize Orchestrator에는 타사 도구와 통합할 수 있는 미리 정의된 워크플로가 많이 있습니다. 이러한 워크플로는 DevOps 프로세스를 자동화 및 관리하고, 대량 작업을 자동화하는 등의 작업에 유용합니다.
예를 들어 파이프라인의 vRO 작업에서 워크플로를 사용하여 사용자를 사용하도록 설정하고, 사용자를 제거하고, VM을 이동하고, 테스트 프레임워크와 통합하여 파이프라인 실행 시 코드를 테스트하는 등의 작업을 할 수 있습니다. code.vmware.com에서 vRealize Orchestrator 워크플로에 대한 예시 코드를 찾아볼 수 있습니다.
vRealize Orchestrator 워크플로를 사용하면 애플리케이션을 구축, 테스트 및 배포할 때 파이프라인이 작업을 실행할 수 있습니다. 파이프라인에 사전 정의된 워크플로를 포함하거나 사용자 지정 워크플로를 생성하여 사용할 수 있습니다. 각 워크플로에는 입력, 작업 및 출력이 포함됩니다.
파이프라인에서 vRO 워크플로를 실행하려면 해당 워크플로가 파이프라인에 추가한 vRO 작업의 사용 가능한 워크플로 목록에 나타나야 합니다.
워크플로가 파이프라인의 vRO 작업에 나타나려면 먼저 관리자가 vRealize Orchestrator에서 다음 단계를 수행해야 합니다.
- vRO 워크플로에 CODESTREAM 태그를 적용합니다.
- vRO 워크플로를 글로벌로 표시합니다.
사전 요구 사항
- vRealize Orchestrator의 온 프레미스 인스턴스에 관리자로 액세스할 수 있는지 확인합니다. 도움이 필요하면 해당 관리자에게 문의하거나 vRealize Orchestrator 설명서를 참조하십시오.
- Code Stream에서 프로젝트의 멤버인지 확인합니다. 그렇지 않으면 프로젝트 멤버로 추가해 달라고 Code Stream 관리자에게 요청합니다. Code Stream에서 프로젝트를 추가하는 방법의 내용을 참조하십시오.
- Code Stream에서 파이프라인을 생성하고 단계를 추가합니다.
프로시저
- 관리자는 파이프라인이 실행할 vRealize Orchestrator 워크플로를 준비합니다.
- vRealize Orchestrator에서 파이프라인에서 사용해야 하는 워크플로(예: 사용자를 사용하도록 설정하는 워크플로)를 찾습니다.
필요한 워크플로가 존재하지 않는다면 워크플로를 생성할 수 있습니다.
- 검색 창에 Tag workflow를 입력하여 Tag workflow라는 이름의 워크플로를 찾습니다.
- Tag workflow라는 이름의 카드에서 실행을 클릭합니다. 구성 영역이 표시됩니다.
- 태그가 지정된 워크플로 텍스트 영역에서 Code Stream 파이프라인에서 사용할 워크플로의 이름을 입력한 다음 목록에서 선택합니다.
- 태그 및 값 텍스트 영역에서 대문자로 CODESTREAM을 입력합니다.
- 전역 태그라는 이름의 확인란을 클릭합니다.
- 실행을 클릭합니다. 그러면 CODESTREAM 태그가 Code Stream 파이프라인에서 선택해야 하는 워크플로에 연결됩니다.
- 탐색 창에서 워크플로를 클릭하고 CODESTREAM 태그가 파이프라인에서 실행할 워크플로 카드에 나타나는지 확인합니다.
Code Stream에 로그인하고 파이프라인에 vRO 작업을 추가하면 태그가 지정된 워크플로가 워크플로 목록에 표시됩니다.
- vRealize Orchestrator에서 파이프라인에서 사용해야 하는 워크플로(예: 사용자를 사용하도록 설정하는 워크플로)를 찾습니다.
- Code Stream에서 vRealize Orchestrator 인스턴스에 대한 끝점을 생성합니다.
- 을 클릭합니다.
- 프로젝트를 선택합니다.
- 적절한 이름을 입력합니다.
- vRealize Orchestrator 끝점의 URL을 입력합니다.
https://vro-appliance.yourdomain.local:8281 형식을 사용합니다.https://vro-appliance.yourdomain.local:8281/vco/api 형식은 사용하지 마십시오.vRealize Automation 장치에 내장된 vRealize Orchestrator 인스턴스의 URL은 포트가 없는 장치의 FQDN입니다. 예: https://vra-appliance.yourdomain.local/vcovRealize Automation 8.x로 시작하는 외부 vRealize Orchestrator 장치의 경우 장치의 FQDN은 https://vro-appliance.yourdomain.local입니다.vRealize Automation 7.x에 포함된 외부 vRealize Orchestrator 장치의 경우 장치의 FQDN은 https://vro-appliance.yourdomain.local:8281/vco입니다.끝점을 추가할 때 문제가 발생하면 콜론이 제거된 SHA-256 인증서 지문이 포함된 YAML 구성을 가져와야 할 수 있습니다. 예를 들어 B0:01:A2:72...는 B001A272...가 됩니다. 샘플 YAML 코드는 다음과 유사합니다.
``` --- project: Demo kind: ENDPOINT name: external-vro description: '' type: vro properties: url: https://yourVROhost.yourdomain.local username: yourusername password: yourpassword fingerprint: <your_fingerprint> ```
- 입력한 URL에 인증서가 필요한 경우 인증서 수락을 클릭합니다.
- vRealize Orchestrator 끝점이 버전 8.0~8.7인 경우 인증 유형으로 기본 인증 또는 토큰을 선택할 수 있습니다. vRealize Orchestrator 끝점이 버전 8.8 이상인 경우 인증 유형으로 토큰을 선택해야 합니다.
참고: vRealize Orchestrator 끝점이 버전 8.8 이상인 경우 기본 인증을 선택하지 마십시오. 기본 인증은 지원되지 않으며 끝점 생성이 실패합니다.
- 기본 인증을 선택하는 경우 vRealize Orchestrator 서버의 사용자 이름과 암호를 입력합니다.
로컬이 아닌 사용자를 인증에 사용하는 경우 사용자 이름에서 도메인 부분을 생략해야 합니다. 예를 들어 [email protected]을 인증하려면 사용자 이름 텍스트 영역에 svc_vro를 입력해야 합니다.
- 인증 유형으로 토큰을 선택한 경우 전용 토큰을 생성합니다.
VMware Cloud Services API 토큰은 Code Stream에서 외부 API 연결을 위해 사용자를 인증합니다. API 토큰을 가져오려면:
- 토큰 생성을 클릭합니다.
- 사용자 이름과 연결된 이메일 주소와 암호를 입력하고 생성을 클릭합니다.
생성한 토큰은 6개월 동안 유효합니다. 새로 고침 토큰이라고도 합니다.
- 나중에 사용할 수 있도록 토큰을 변수로 유지하려면 변수 생성을 클릭하고 변수 이름을 입력한 후 저장을 클릭합니다.
- 나중에 사용할 수 있도록 토큰을 텍스트 값으로 유지하려면 복사를 클릭하고 토큰을 텍스트 파일에 붙여 넣어 로컬에 저장합니다.
- 닫기를 클릭합니다.
- 기본 인증을 선택하는 경우 vRealize Orchestrator 서버의 사용자 이름과 암호를 입력합니다.
- vRO 작업을 실행하도록 파이프라인을 준비합니다.
- 파이프라인 단계에 vRO 작업을 추가합니다.
- 적절한 이름을 입력합니다.
- [워크플로 속성] 영역에서 vRealize Orchestrator 끝점을 선택합니다.
- vRealize Orchestrator에서 CODESTREAM으로 태그 지정된 워크플로를 선택합니다.
직접 생성한 사용자 지정 워크플로를 선택하는 경우에는 입력 매개 변수 값을 입력해야 할 수 있습니다.
- 작업 실행에 대해 조건부를 클릭합니다.
- 파이프라인 실행 시 적용할 조건을 입력합니다.
파이프라인 실행 시기... 조건 선택... 조건부 정의된 조건이 True로 평가되는 경우에만 파이프라인 작업을 실행합니다. 조건이 False이면 작업을 건너뜁니다.
vRO 작업을 사용하면 다음 피연산자와 연산자를 사용하는 부울 식을 포함할 수 있습니다.
- 파이프라인 변수(예: ${pipeline.variableName}). 변수를 입력할 때 중괄호만 사용합니다.
- 작업 출력 변수(예: ${Stage1.task1.machines[0].value.hostIp[0]}).
- 기본 파이프라인 바인딩 변수(예: ${releasePipelineName}).
- 대/소문자를 구분하지 않는 부울 값(예: true, false, 'true', 'false').
- 따옴표가 없는 정수 또는 10진수 값.
- 작은따옴표 또는 큰따옴표와 함께 사용된 문자열 값(예: "test", 'test').
- 문자열 및 숫자 유형 값(예: == Equals 및 != Not Equals).
- 관계 연산자(예: >, >=, < 및 <=).
- 부울 논리(예: && 및 ||).
- 산술 연산자(예: +, -, * 및 /).
- 소괄호를 사용하는 중첩된 식.
- 리터럴 값 ABCD를 포함하는 문자열은 False로 평가되고 작업을 건너뜁니다.
- 단항 연산자는 지원되지 않습니다.
예를 들어 조건은 ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39와 같을 수 있습니다.
항상 항상을 선택하는 경우 파이프라인은 조건 없이 작업을 실행합니다. - 인사말을 입력합니다.
- 작업 검증을 클릭하고 발생하는 모든 오류를 수정합니다.
- 파이프라인을 저장하고, 사용하도록 설정하고, 실행합니다.
- 파이프라인 실행 후에는 결과를 검토합니다.
- 실행을 클릭합니다.
- 파이프라인을 클릭합니다.
- 작업을 클릭합니다.
- 결과, 입력 값 및 속성을 검토합니다.
워크플로 실행 ID, 작업에 응답한 사람과 시기, 이들이 추가한 설명을 식별할 수 있습니다.
결과
축하합니다! Code Stream에서 사용하도록 vRealize Orchestrator 워크플로에 태그를 지정했고, Code Stream 파이프라인에 vRO 작업을 추가했습니다. 이제 파이프라인이 DevOps 환경에서 작업을 자동화하는 워크플로를 실행할 수 있습니다.
예: vRO 작업 출력 형식
vRO 작업의 출력 형식은 이 예와 유사합니다.
[{ "name": "result", "type": "STRING", "description": "Result of workflow run.", "value": "" }, { "name": "message", "type": "STRING", "description": "Message", "value": "" }]
다음에 수행할 작업
개발, 테스트 및 운영 환경에서 작업을 자동화할 수 있도록 파이프라인에 vRO 워크플로 작업을 계속 추가합니다