> For the complete documentation index, see [llms.txt](https://cocktailcloud.gitbook.io/cocktail-cloud-online/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cocktailcloud.gitbook.io/cocktail-cloud-online/ci-cd/pipeline.md).

# Pipeline 구성하기

## 1. 파이프라인 구성 <a href="#id-1." id="id-1."></a>

### 1-1. 파이프라인 생성

1\) 파이프라인 생성을 위해 \[빌드/파이프라인] - \[파이프라인] 탭에서 우측 상단의 "+ 파이프라인 생성" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Faq9EZ0BSL1o9uMPpC1B2%2Fimage.png?alt=media&amp;token=a89fcfa6-bdde-4db7-bb8a-a7821112f170" alt=""><figcaption><p>[화면] 파이프라인 생성 첫 화면</p></figcaption></figure>

2\) 파이프라인 생성 정보 입력 후 우측 상단의 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-16b97c0b1055381f6e3930ac030673b08e12da53%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 생성 정보 입력 화면</p></figcaption></figure>

<table><thead><tr><th width="176">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>이름*</td><td>생성할 파이프라인 이름을 입력</td></tr><tr><td>버전*</td><td>파이프라인에 대한 버전을 입력</td></tr><tr><td>서비스 맵*</td><td>파이프라인을 실행할 서비스 맵을 선택</td></tr></tbody></table>

3\) 배포 리소스의 "리소스 추가" 버튼을 클릭하여 파이프라인으로 구성할 항목들을 적용합니다.

{% hint style="info" %}

* 워크로드는 기본으로 생성 필요
  {% endhint %}

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-35106bbb7ea89f7b3970f1fd64191728dbe9a6f2%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 배포 리소스 추가</p></figcaption></figure>

4\) 워크로드 항목에서 추가할 워크로드를 선택 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-1f65514df453749569167f387e34a59882e8a60d%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 배포 리소스 추가에서 워크로드 선택</p></figcaption></figure>

5\) 워크로드가 등록이 되면 워크로드에 등록되어 있는 Container 이미지가 자동으로 등록됨을 확인합니다.

{% hint style="warning" %}

* Cocktail에서 이미지 빌드를 이용하여 빌드 된 이미지만 연동됨
  {% endhint %}

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-99c50608a030b68191d51d40fc9942ae7a014dc4%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 워크로드 등록</p></figcaption></figure>

6\) 서비스 노출 항목에서 추가할 서비스 선택 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-e6fbb6237387b97500c8783ed79d3d56ded8a0be%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 배포 리소스 추가에서 서비스 노출 선택</p></figcaption></figure>

7\) 인그레스 항목에서 추가할 인그레스를 선택 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-84da92aacb2bc8ae307204244b9d77009ef81e78%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 배포 리소스 추가에서 인그레스 선택</p></figcaption></figure>

8\) 모든 리소스 등록이 완료되면 우측 상단의 "실행" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-bf914c18bf0fcf3f4508d5043fe178e182c42ed0%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 모든 리소스 등록 후 화면</p></figcaption></figure>

9\) \[실행 팝업] 창이 뜨면 실행 노트에 해당 파이프라인 버전에 대한 내용을 입력 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-489b4057b6c18ecfa716880bad7d9575a3e47b03%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 실행 노트 입력</p></figcaption></figure>

10\) 파이프라인 실행이 완료되면 정상적으로 좌측 상단의 릴리즈 버전이 명시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-a5ef466e367fe3bb7b4685a52f620bce3801113c%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 실행 완료 후 화면</p></figcaption></figure>

## 2. 파이프라인 수정 <a href="#id-2." id="id-2."></a>

{% hint style="danger" %}

* **\[서비스 맵] 탭에서 각각의 워크로드, 서비스 노출, 인그레스 등을 수정하면 파이프라인에는 반영되지 않기 때문에 파이프라인에서 수정을 해야 합니다.**
* **파이프라인을 수정하면 각각의 워크로드 등 배포 리소스가 최신으로 반영됩니다.**
  {% endhint %}

1\) \[파이프라인] 탭에서 수정이 필요한 파이프라인 명을 선택합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FZMrbSVVslhOenCfmTgGU%2Fimage.png?alt=media&amp;token=b8de91f4-089c-404f-a254-a73ca22a0af8" alt=""><figcaption><p>[화면] 파이프라인 목록</p></figcaption></figure>

2\) 파이프라인에서 우측 상단의 "파이프라인 버전 생성" 버튼을 클릭하여 버전을 입력 후 "생성" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-7f150bf44d9d1ce8dcc147717315187be48a0648%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 버전 생성 화면</p></figcaption></figure>

### 2-1. 소스가 변경이 되어 이미지 빌드를 다시 해야 할 경우 <a href="#id-2-1." id="id-2-1."></a>

1\) \[이미지 빌드] 항목 우측에 “빌드실행” 버튼을 활성화하고 "실행" 버튼을 클릭합니다.

{% hint style="info" %}

* 이미지 빌드가 재 실행되어 워크로드에 바로 반영
  {% endhint %}

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-5a0b8a338628e1f58673893162c7ffde72a5f4fe%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 빌드 실행 활성화 후 실행 화면</p></figcaption></figure>

2\) 이미지는 재 빌드 되며, 해당 단계가 어디까지 진행되었는지 확인이 가능합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-f44d541970ee2dd28d24053a10488d6f58c8e6dd%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 이미지 빌드 진행 과정</p></figcaption></figure>

3\) 파이프라인으로 이미지가 재 빌드 되면 워크로드의 이미지명은 파이프라인으로 빌드 된 이미지의 태그로 변경됨을 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-b37e1f7059341a3fdb261c0192225c6515ef2d13%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 이미지 태그 변경 확인</p></figcaption></figure>

### 2-2. 워크로드의 replicas 등 워크로드가 변경될 경우 <a href="#id-2-2.-replicas" id="id-2-2.-replicas"></a>

{% hint style="info" %}

* \[이미지 빌드] 항목 우측에 “빌드실행” 버튼을 비활성화(이미지 변경 필요 없음)
  {% endhint %}

1\) \[배포 리소스] 항목의 워크로드 명을 선택합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-d48d06d57533a0dcdd7e4235d5d022221d2e00fb%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 빌드 실행 비활성화 화면</p></figcaption></figure>

2\) 수정이 필요한 부분들을 선택하여 수정하고 우측 상단의 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-fcef3e238133ea1f304a5b47fa40b97360e5c7ec%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 워크로드 설정 변경 화면</p></figcaption></figure>

3\) 워크로드의 replicas를 1-> 2 변경됨을 확인 후 우측 상단의 "닫기" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-01c097b81c2d25cf0d853747a7a7cf4fa87b02aa%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 워크로드 설정 변경 후 정보</p></figcaption></figure>

4\) 파이프라인 수정 항목으로 복귀되면 우측 상단의 "실행" 버튼 클릭하고 실행 노트에는 변경사항을 입력합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-9ba5369f7932412d32965e8db38aafa16904be68%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 실행 버튼 클릭 후 화면</p></figcaption></figure>

5\) 파이프라인 \[배포 현황] 탭에서 pod가 2개 떠있는지 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-ba3b205ee4802f430cc2d449a2e8d5e3c71a2211%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 배포 현황</p></figcaption></figure>

## 3. 파이프라인 롤백 <a href="#id-3." id="id-3."></a>

{% hint style="info" %}

* 파이프라인으로 버전을 계속 등록하다가 이전 설정으로 롤백이 필요할 경우
  {% endhint %}

1\) \[파이프라인] 탭에서 수정이 필요한 파이프라인 명을 선택하고 수정 항목으로 변경되면 우측 상단의 "롤백" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-c51f1f56624590a895b34b9ddb3727bfc92a1425%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 설정 화면</p></figcaption></figure>

2\) \[롤백 팝업] 창이 뜨면 그동안 생성한 버전의 실행 노트를 확인하여 원하는 버전을 선택 후 "저장" 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-08210ac9174483da0ffcbf408b650ca486f77f4d%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 롤백 클릭 후 실행 노트 팝업 창</p></figcaption></figure>

3\) 정상적으로 롤백이 완료되면 수정 버전이 롤백 대상으로 변경됨을 확인합니다.(V3 -> V2)

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-1314b48a78fee232ba73d12974e02c3e03850b71%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 롤백 변경 버전 확인</p></figcaption></figure>

4\) Pod 개수가 정상적으로 2 -> 1로 변경되었는지 확인합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-c120b9f2ca65d872e86f9327526053279ec2608c%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 파이프라인 배포 현황</p></figcaption></figure>
