파이프라인을 구성할 때는 필요한 작업을 위해 파이프라인이 실행하는 특정 유형의 작업을 추가합니다. 각 작업 유형은 다른 애플리케이션과 통합되며 애플리케이션을 구축, 테스트 및 제공하면서 파이프라인을 사용하도록 설정합니다.

배포를 위해 저장소에서 아티팩트를 끌어오거나 원격 스크립트를 실행해야 하는 경우 또는 사용자 작업에 대해 팀 멤버의 승인이 필요한 경우, 파이프라인을 실행할 수 있도록 Code Stream에 사용자를 위한 작업 유형이 준비되어 있습니다!

Code Stream은 다양한 유형의 작업에 대한 파이프라인 실행 취소를 지원합니다. 파이프라인 실행에 대해 취소를 클릭하면 작업, 단계 또는 전체 파이프라인이 취소 중 상태가 되고 파이프라인 실행이 취소됩니다.

Code Stream을 사용하면 다음 작업을 사용할 때 작업, 단계 또는 전체 파이프라인에서 파이프라인 실행을 취소할 수 있습니다.
  • Jenkins
  • SSH
  • PowerShell
  • 사용자 작업
  • 파이프라인
  • 클라우드 템플릿
  • vRO
  • 폴링

Code Stream은 CI, 사용자 지정 통합 또는 Kubernetes와 같은 작업에 대한 취소 동작을 타사 시스템에 전파하지 않습니다. Code Stream은 작업이 취소된 것으로 표시하고 작업이 완료될 때까지 기다리지 않고 상태 가져오기를 즉시 중지합니다. 타사 시스템에서는 작업이 완료되거나 실패할 수 있지만 취소를 클릭하는 즉시 Code Stream에서 실행이 중지됩니다.

파이프라인에서 작업을 사용하기 전에 해당하는 끝점을 사용할 수 있는지 확인하십시오.

표 1. 승인 획득 또는 결정 시점 설정
작업 유형 수행 작업 예제 및 세부 정보
사용자 작업

[사용자 작업]을 통해 파이프라인을 실행하고 승인을 위해 중지해야 하는 시기를 제어하는 필수 승인을 사용할 수 있습니다.

파이프라인을 실행하고 결과를 보는 방법Code Stream에서 사용자 액세스 및 승인을 관리하는 방법 항목을 참조하십시오.

조건

조건 표현식에 따라 파이프라인을 계속 실행할지 아니면 중지할지 결정하는 결정 시점을 추가합니다. 조건이 true이면 파이프라인이 후속 작업을 실행합니다. false이면 파이프라인이 중지됩니다.

Code Stream에서 파이프라인의 실행 또는 중지를 위해 조건 작업에서 변수 바인딩을 사용하는 방법 항목을 참조하십시오.

표 2. 지속적 통합 및 배포 자동화
작업 유형 수행 작업 예제 및 세부 정보
클라우드 템플릿

GitHub에서 자동화 클라우드 템플릿을 배포하고, 애플리케이션을 프로비저닝하고, 배포를 위한 해당 클라우드 템플릿의 CICD(지속적 통합 및 전달)를 자동화합니다.

Code Stream의 YAML 클라우드 템플릿에서 배포하는 애플리케이션의 릴리스를 자동화하는 방법 항목을 참조하십시오.

클라우드 템플릿 매개 변수는 생성 또는 업데이트를 먼저 선택한 다음 클라우드 템플릿버전을 선택하면 나타납니다. 변수 바인딩을 수용하는 다음과 같은 요소를 클라우드 템플릿 작업의 입력 텍스트 영역에 추가할 수 있습니다.

  • 정수
  • 열거형 문자열
  • 부울
  • 어레이 변수

입력에서 변수 바인딩을 사용하는 경우 이러한 예외 사항에 유의해야 합니다. 열거형의 경우 고정 집합에서 열거형 값을 선택해야 합니다. 부울 값의 경우 입력 텍스트 영역에 값을 입력해야 합니다.

클라우드 템플릿 매개 변수는 Cloud Assembly의 클라우드 템플릿에 입력 변수가 포함된 경우 클라우드 템플릿 작업에 나타납니다. 예를 들어 클라우드 템플릿에 Integer 입력 유형이 있는 경우 정수를 직접 입력하거나 변수 바인딩을 사용하여 변수로 입력할 수 있습니다.

CI

CI 작업을 통해 레지스트리 끝점에서 Docker 구축 이미지를 가져와 Kubernetes 클러스터에 배포함으로써 코드를 파이프라인에 지속적으로 통합할 수 있습니다.

CI 작업은 로그 100줄을 출력으로 표시하고 로그를 다운로드할 경우 500줄을 표시합니다.

CI 작업에는 사용 후 삭제 포트 32768~61000이 필요합니다.

스마트 파이프라인 템플릿을 사용하기 전에 Code Stream에서 CICD 기본 구축 계획 항목을 참조하십시오.

사용자 지정

사용자 지정 작업은 Code Stream을 사용자 소유의 구축, 테스트 및 배포 도구와 통합합니다.

고유한 구축, 테스트 및 배포 툴과 Code Stream을 통합하는 방법 항목을 참조하십시오.

Kubernetes

Kubernetes 클러스터에 소프트웨어 애플리케이션 배포를 자동화합니다.

Code Stream에서 Kubernetes 클러스터에 애플리케이션의 릴리스를 자동화하는 방법 항목을 참조하십시오.

파이프라인

기본 파이프라인에 파이프라인을 중첩합니다. 중첩된 파이프라인은 기본 파이프라인에서 작업으로 작동합니다.

기본 파이프라인의 [작업] 탭에서 해당 링크를 클릭하여 중첩된 파이프라인으로 쉽게 이동할 수 있습니다. 중첩된 파이프라인이 새 브라우저 탭에서 열립니다.

실행에서 중첩된 파이프라인을 찾으려면 검색 영역에 nested를 입력합니다.

표 3. 개발, 테스트 및 배포 애플리케이션 통합
작업 유형... 수행하는 작업... 예 및 세부 정보...
Bamboo

Bamboo CI(지속적 통합) 서버와 상호 작용하여 배포 준비를 위해 소프트웨어를 지속적으로 구축, 테스트 및 통합하고 개발자가 변경 내용을 커밋하면 코드 구축을 트리거합니다. 한 작업에서 출력한 매개 변수를 구축 및 배포를 위해 다른 작업에서 사용할 수 있도록 Bamboo 구축에서 생성하는 아티팩트 위치를 노출합니다.

Bamboo 서버 끝점에 연결하고 파이프라인에서 Bamboo 구축 계획을 시작합니다.

Jenkins

Jenkins 작업을 트리거하여 소스 코드를 구축 및 테스트하고, 테스트 사례를 실행하며, 사용자 지정 스크립트를 사용할 수 있습니다.

Code Stream과 Jenkins를 통합하는 방법 항목을 참조하십시오.

TFS

코드를 구축하고 테스트하는 구성된 작업을 포함하여 구축 프로젝트를 관리하고 호출하도록 파이프라인을 Team Foundation Server에 연결할 수 있습니다.

Code Stream에서 지원하는 Team Foundation Server 버전은 Code Stream의 끝점 소개 항목을 참조하십시오.

vRO

vRealize Orchestrator에서 미리 정의된 워크플로 또는 사용자 지정 워크플로를 실행하여 Code Stream의 기능을 확장합니다.

Code StreamvRealize Orchestrator에 대해 기본 인증 및 토큰 기반 인증을 지원합니다. Code Stream은 API 토큰을 사용하여 vRealize Orchestrator 클러스터를 인증하고 검증합니다. 토큰 기반 인증을 통해, Code Stream은 클라우드 확장성 프록시를 사용하는 vRealize Orchestrator 끝점을 지원합니다. 따라서 Code Stream에서 사용자는 클라우드 확장성 프록시를 사용하는 vRealize Orchestrator 끝점을 사용하여 워크플로를 트리거할 수 있습니다.

Code Stream과 vRealize Orchestrator를 통합하는 방법 항목을 참조하십시오.

표 4. API를 통해 다른 애플리케이션 통합
작업 유형... 수행하는 작업... 예 및 세부 정보...
REST

Code Stream을 REST API를 사용하는 다른 애플리케이션과 통합함으로써 서로 상호 작용하는 소프트웨어 애플리케이션을 지속적으로 개발하고 제공할 수 있도록 합니다.

Code Stream을 다른 애플리케이션과 통합하기 위해 REST API를 사용하는 방법 항목을 참조하십시오.

폴링

REST API를 호출한 다음 파이프라인 작업이 종료 조건을 충족하고 완료될 때까지 REST API를 폴링합니다.

Code Stream 관리자는 폴링 수를 최대 10000으로 설정할 수 있습니다. 폴링 간격은 60초보다 크거나 같아야 합니다.

실패 시 계속 확인란에 표시하는 경우 개수 또는 간격이 이러한 값을 초과하면 폴링 작업이 계속 실행됩니다.

POLL Iteration Count: 파이프라인 실행에 표시되어 POLL 작업이 URL에서 응답을 요청한 횟수를 나타냅니다. 예를 들어 POLL 입력이 65이고 POLL 요청이 실행된 실제 횟수가 4인 경우 파이프라인 실행 출력의 반복 수에 4(총 65회)가 표시됩니다.

Code Stream을 다른 애플리케이션과 통합하기 위해 REST API를 사용하는 방법 항목을 참조하십시오.

표 5. 원격 및 사용자 정의 스크립트 실행
작업 유형 수행 작업 예제 및 세부 정보
PowerShell

PowerShell 작업을 통해 Code Stream은 원격 호스트에서 스크립트 명령을 실행할 수 있습니다. 예를 들어 스크립트는 테스트 작업을 자동화하고 관리 명령 유형을 실행할 수 있습니다.

스크립트는 원격 또는 사용자 정의일 수 있습니다. HTTP 또는 HTTPS를 통해 연결할 수 있으며 TLS를 사용할 수 있습니다.

Windows 호스트에는 winrm 서비스가 구성되어 있어야 하며 winrm에는 MaxShellsPerUserMaxMemoryPerShellMB가 구성되어 있어야 합니다.

PowerShell 작업을 실행하려면 원격 Windows 호스트에 대한 활성 세션이 있어야 합니다.

PowerShell 명령줄 길이

base64 PowerShell 명령을 입력하는 경우 전체 명령 길이를 계산해야 합니다.

Code Stream 파이프라인은 base64 PowerShell 명령을 다른 명령으로 인코딩하고 래핑하므로 명령의 전체 길이가 늘어납니다.

PowerShell winrm 명령에 허용되는 최대 길이는 8192바이트입니다. 인코딩 및 래핑되었을 때 PowerShell 작업에 대한 명령 길이 제한이 더 낮습니다. 따라서 PowerShell 명령을 입력하기 전에 명령 길이를 계산해야 합니다.

Code Stream PowerShell 작업의 명령 길이 제한은 원래 명령의 base64 인코딩 길이에 따라 달라집니다. 명령 길이는 다음과 같이 계산됩니다.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

Code Stream의 명령 길이는 최대 제한인 8192보다 작아야 합니다.

MaxShellsPerUserMaxMemoryPerShellMB를 구성하는 경우:

  • MaxShellsPerUser에 대해 허용 가능한 값은 500이며, 이는 50개의 동시 파이프라인 및 각 파이프라인에 대해 5개의 PowerShell 작업을 나타냅니다. 값을 설정하려면 다음을 실행합니다. winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'
  • MaxMemoryPerShellMB에 허용 가능한 메모리 값은 2048입니다. 값을 설정하려면 다음을 실행합니다. winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'

이 스크립트는 출력을 응답 파일로 작성하여 다른 파이프라인이 사용할 수 있도록 합니다.

SSH

SSH 작업을 통해 Bash shell script 작업으로 원격 호스트에서 스크립트 명령을 실행할 수 있습니다. 예를 들어 스크립트는 테스트 작업을 자동화하고 관리 명령 유형을 실행할 수 있습니다.

스크립트는 원격 또는 사용자 정의일 수 있습니다. HTTP 또는 HTTPS를 통해 연결할 수 있으며 개인 키 또는 암호가 필요합니다.

SSH 서비스는 Linux 호스트에서 구성되어야 하며 SSHD의 MaxSessions 구성은 50으로 설정되어야 합니다.

여러 SSH 작업을 동시에 실행하는 경우 SSH 호스트에서 MaxSessionsMaxOpenSessions를 늘립니다. MaxSessions 및 MaxOpenSessions 구성 설정을 수정해야 하는 경우 vRealize Automation 인스턴스를 SSH 호스트로 사용하지 마십시오.

스크립트는 원격 또는 사용자 정의일 수 있습니다. 예를 들어 스크립트는 다음과 유사할 수 있습니다.

message="Hello World" echo $message

이 스크립트는 출력을 응답 파일로 작성하여 다른 파이프라인이 사용할 수 있도록 합니다.