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

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

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

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

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

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

조건

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

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

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

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

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

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

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

사용자 지정

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

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

Kubernetes

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

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

파이프라인

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

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

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

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

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

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

Jenkins

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

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

TFS

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

VMware Code Stream은 Team Foundation Server 2013 및 2015를 지원합니다.

vRO

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

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

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

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

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

폴링

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

VMware 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으로 설정되어야 합니다.

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

message="Hello World" echo $message

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