> 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/build-image.md).

# 이미지 빌드하기

앞에서 이미지 빌드 시 필요한 빌드 서버 생성을 완료하였습니다. 이제 이미지 빌드를 생성해 보겠습니다.

## 1. 이미지 빌드 생성 <a href="#id-8cbf8723-3261-4a6e-951d-3738b3b8fcb1" id="id-8cbf8723-3261-4a6e-951d-3738b3b8fcb1"></a>

### 1-1. 빌드 정보 입력

1. \[빌드/파이프라인] - \[빌드] 항목을 선택합니다.
2. 우측 상단의 \[생성] 버튼을 클릭합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FBLalSqiCMsgy5qjt9ati%2Fimage.png?alt=media&amp;token=f1b73b18-130a-4ed1-88d1-5ae8ecc6ec44" 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%2FZJkqlVEmeZzLXdnF9lG0%2Fimage.png?alt=media&amp;token=b754b661-853e-47bc-bbc1-aa99fdb09368" alt=""><figcaption><p>[화면] 빌드 생성 - 빌드 정보 입력</p></figcaption></figure>

<table><thead><tr><th width="198">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>이미지 명*</td><td>해당 이미지가 어떤 이미지인지 상세 작성(단, 대문자는 작성 불가)</td></tr><tr><td>레지스트리*</td><td><p>기 생성한 레지스트리를 선택</p><p>(레지스트리가 여러 개 있을 경우에는 해당되는 레지스트리 선택)</p></td></tr><tr><td>자동태그 사용 여부(택1)</td><td><p>이미지를 업데이트 또는 변경 시에 자동으로 태그 설정 유무</p><p>("사용/미사용"으로 나뉘며, 미사용으로 선택 시에는 태그가 고정되어 이미지가 엎어쳐질 수 있음)</p></td></tr><tr><td>태그*</td><td><p>생성된 이미지에 태그를 붙일 내용을 작성</p><p>(자동 태그 사용 여부에 "미사용"으로 선택할 경우 여기에 작성된 태그로 계속 사용)</p></td></tr><tr><td>자동증가 유형 (택1)</td><td>자동 태그 사용 여부에 “사용”을 설정할 경우에 "시간/순번"으로 지정할 수 있음</td></tr><tr><td>빌드 실행 서버 (택1)</td><td>빌드를 진행할 서버 선택</td></tr></tbody></table>

4. 하단에 \[빌드 작업 추가] 버튼을 클릭하여 빌드 시 필요한 항목들을 선택합니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FC4suDaYpIPsETzcAw2uL%2Fimage.png?alt=media&amp;token=e7364752-53bf-4834-8b4a-b035c74aeb1c" alt=""><figcaption><p>[화면] 빌드 생성 - 빌드 작업 추가</p></figcaption></figure>

<table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>코드 리파지토리 작업</td><td>소스를 불러드릴 git 등에 대한 정보 설정</td></tr><tr><td>사용자 작업</td><td>git 등에서 불러들인 소스를 빌드 등에 대한 정보 설정</td></tr><tr><td>파일(FTP) 작업</td><td>원격 호스트와 빌드 작업을 수행할 빌드 호스트 사이에 파일이나 디렉토리를 다운로드하거나 업로드하는 작업 설정</td></tr><tr><td>REST 호출 작업</td><td>외부 서비스와 REST 방식으로 연동이 필요한 경우, REST 호출 작업을 설정</td></tr><tr><td>스크립트 작업</td><td>특정 스크립트가 필요할 경우 스크립트 정보 설정</td></tr><tr><td>이미지 빌드 작업*</td><td>빌드 된 소스를 Base image에 적용하여 신규 이미지를 생성할 수 있도록 Dockerfile 작성</td></tr><tr><td><h4>NCP 오브젝트 스토리지 업로드</h4></td><td>NCP (Naver Cloud Platform) 오브젝트 스토리지에 파일을 업로드</td></tr><tr><td><h4>NCP 오브젝트 스토리지 다운로드</h4></td><td>NCP (Naver Cloud Platform) 오브젝트 스토리지에서 파일을 다운로드</td></tr><tr><td><h4>SonarQube 스캔</h4></td><td>SonarQube를 이용하여 소스코드의 정적분석을 수행 (현재는 Java Maven Build 환경에서만 실행 가능)</td></tr></tbody></table>

### 1-2. 코드 리파지토리 작업

1. \[코드 리파지토리 작업] 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fx4p9QjI17NMv6uNHd9TW%2Fimage.png?alt=media&amp;token=5a737f0c-964f-407d-bfc4-6defa61c7180" 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%2FaBfzxJrH1weEjaRT4Fs1%2Fimage.png?alt=media&amp;token=276fa096-f6f7-474a-bafc-14fbac54496d" alt=""><figcaption><p>[화면] 빌드 생성 - 코드 리파지토리 작업 추가</p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>이미지 빌드에 대한 작업 단계, 해당 작업에 대한 제목 입력</td></tr><tr><td>리파지토리 주소*</td><td>소스를 불러들일 git 등에 대한 주소 입력</td></tr><tr><td>브랜치*</td><td>리파지토리에 적용된 소스 브랜치 입력</td></tr><tr><td>인증</td><td>인증에 대한 콤보 박스 선택 시 git 접속에 필요한 사용자 계정, 패스워드 입력</td></tr><tr><td>코드 저장 경로</td><td><ul><li>소스를 저장할 디렉토리 입력</li><li>미 작성 시 git 프로젝트 이름으로 자동 생성</li></ul></td></tr></tbody></table>

### 1-3. 사용자 작업

1. \[빌드 작업 추가] 버튼을 클릭하여 \[사용자 작업]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fm20iLmjlhBu2wBma6B2C%2Fimage.png?alt=media&amp;token=2b18f272-b584-4313-aca8-a6528df13d15" 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%2FD37e4rRs3xNfxto1ZV7Z%2Fimage.png?alt=media&amp;token=8dab7f66-5032-4d7f-a6bf-e8aedc9fcc53" alt=""><figcaption><p>[화면] 빌드 생성 - maven 빌드 실행 정보 입력</p></figcaption></figure>

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FS06fMd0yKgtcGpN52td6%2Fimage.png?alt=media&amp;token=fba3680c-892c-4c46-a067-7e529d2e048d" alt=""><figcaption><p>[화면] 빌드 생성 - ant 빌드 실행 정보 입력 </p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>작업 내용에 대한 자세한 정보 작성</td></tr><tr><td>실행 경로</td><td><ul><li>빌드 컨테이너에서 빌드가 실행될 경로</li><li>작성 시 /build 입력(고정 값)</li></ul></td></tr></tbody></table>
3. \[작업 볼륨] 항목에 소스 빌드 시 필요한 디렉토리 경로를 입력하고, \[적용] 버튼을 클릭합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fb1Xai0o0rwFg7FDUF3fa%2Fimage.png?alt=media&amp;token=3ff5c22c-9913-4e90-8962-7f94ebb5bc59" alt=""><figcaption><p>[화면] 빌드 생성 - 작업 볼륨 정보 입력 </p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>컨테이너 경로*</td><td>소스를 빌드 할 컨테이너의 경로를 작성</td></tr><tr><td>빌드 호스트 경로*</td><td>소스 빌드 시 임시 컨테이너를 생성하여 빌드를 진행하게 되는데, 이때 사용되는 임시 컨테이너의 경로</td></tr></tbody></table>

### 1-4. 파일(FTP) 작업

{% hint style="info" %}
파일(FTP) 작업은 빌드할 대상 관련 리소스를 포함하는 원격 호스트와 빌드 작업을 수행할 빌드 호스트 사이에 파일이나 디렉토리를 다운로드하거나 업로드용으로 사용합니다.
{% endhint %}

1. \[빌드 작업 추가] 버튼을 클릭하고, \[파일(FTP) 작업]을 선택합니다.<br>

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F054gbAJRwqDvuICvvPCA%2Fimage.png?alt=media&amp;token=7d3d3df5-0f58-4911-9fe3-6b26aee82135" alt=""><figcaption><p>[화면] 빌드 생성 - 파일(FTP) 작업 정보 선택</p></figcaption></figure>
2. 파일(FTP) 작업을 위한 정보를 입력하고, \[적용] 버튼을 클릭합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F8Pi3WddOcPz1tM69SCMo%2Fimage.png?alt=media&amp;token=43ebb97e-c3a2-4125-8135-f7e3accc684a" alt=""><figcaption><p>[화면] 빌드 생성 - 파일(FTP) 작업 정보 입력 </p></figcaption></figure>

<table><thead><tr><th width="214">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>파일(FTP) 에 대한 작업 단계를 말하며, 해당 작업에 대한 이름 입력</td></tr><tr><td>호스트 주소*</td><td>업로드가 필요한 디렉토리 또는 파일이 있는 server 주소</td></tr><tr><td>인증*</td><td>호스트 주소의 계정과 패스워드가 있을 경우 설정 필요</td></tr><tr><td>사용자/패스워드*</td><td>호스트 주소의 접속 계정과 패스워드</td></tr><tr><td>작업 유형(택1)</td><td>File Download<br>(이미지 빌드 시 이미지 안에 넣을 경우 해당 유형 선택 필요)</td></tr><tr><td>원격 디렉토리/파일*</td><td>이미지 빌드 시 이미지에 업로드 할 파일의 절대 경로<br>(호스트 주소에 해당 파일이 존재해야 함)</td></tr><tr><td>빌드 호스트 디렉토리*</td><td>업로드 할 디렉토리 위치<br>(/tmp/ 고정)</td></tr></tbody></table>

### 1-5. REST 호출 작업

{% hint style="info" %}
REST 호출 작업은 외부 서비스와 REST 방식으로 연동이 필요한 경우에 사용합니다.
{% endhint %}

1. \[빌드 작업 추가] 버튼을 클릭하고, \[REST 호출 작업]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FF1U4N5uBixoSD8L6mjxy%2Fimage.png?alt=media&amp;token=f92b8465-253c-4032-afc5-559e5ddcfec7" alt=""><figcaption><p>[화면] 빌드 생성 - 파일(FTP) 작업 정보 선택</p></figcaption></figure>
2. REST 호출 작업을 위한 정보를 입력합니다.<br>

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FcMmqayOq54BCXgkecbeD%2Fimage.png?alt=media&amp;token=9dc1404c-851e-48a0-8d13-fd6ed3705aa1" alt=""><figcaption><p>[화면] 빌드 생성 - REST 호출 작업 정보 입력</p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>REST 호출에 대한 작업 단계, 해당 작업에 대한 이름 입력</td></tr><tr><td>REST Method(택1)</td><td>API를 호출할 Method 선택</td></tr><tr><td>URL*</td><td>API를 호출할 URL 작성</td></tr><tr><td>인증</td><td>호스트 주소의 계정과 패스워드가 있을 경우 설정 필요</td></tr><tr><td>사용자/패스워드</td><td>호스트 주소의 접속 계정과 패스워드</td></tr><tr><td>접속 타임아웃*</td><td>API 호출에 대한 응답 시간 작성</td></tr><tr><td>기대 응답 코드*</td><td><p>API 호출 후 성공 코드 작성</p><p>(ex] 200)</p></td></tr><tr><td>기대 응답 내용</td><td>공백으로 비워 둬야 함</td></tr><tr><td>응답을 받을 저장 빌드 호스트 경로</td><td>응답 값 저장이 필요할 경우 파일명 작성<br>(ex] response.txt)</td></tr></tbody></table>
3. HEADER가 필요한 경우, \[Header 추가]를 선택하여 Header와 Value 값을 입력하고, \[적용] 버튼을 클릭합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FIsMZdx8YJSAYmLE3LZAV%2Fimage.png?alt=media&amp;token=b1ce9da2-6cfa-475e-a37c-b7663d7fdabe" alt=""><figcaption><p>[화면] 빌드 생성 - REST 호출 작업 정보 입력</p></figcaption></figure>

{% hint style="info" %}

* Header : Authorization, Value : Basic {인증 문자열} 형식으로 입력합니다.
* {인증 문자열}은 Image 레지스트리의 id:password을 base64로 encoding 한 문자열 사용합니다.
  {% endhint %}

### 1-6. 스크립트 작업

{% hint style="info" %}
스크립트 작업은 이미지 빌드 시 필요한 스크립트가 있을 경우에 사용합니다.
{% endhint %}

1. \[빌드 작업 추가] 버튼을 클릭하고, \[REST 호출 작업]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F21gfSBqYtpxz1QNl2ipi%2Fimage.png?alt=media&amp;token=d335dea0-194d-4919-8d3f-3a4255daa4df" 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%2Fpx98z9lkDyfSNoFuPA5a%2Fimage.png?alt=media&amp;token=419143c4-32ea-45ee-b2dc-adaa8367c008" alt=""><figcaption><p>[화면] 빌드 생성 - 스크립트 작업 정보 입력</p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>이미지 빌드에 대한 작업 단계를 말하며, 해당 작업에 대한 제목을 입력</td></tr><tr><td>스크립트 내용 입력*</td><td>실행할 스크립트 내용 작성</td></tr></tbody></table>

### 1-7. 이미지 빌드 작업

1. \[빌드 작업 추가] 버튼을 클릭하여 \[이미지 빌드 작업]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FI4w5X1H0vynJmjMOdzln%2Fimage.png?alt=media&amp;token=4a86cd75-cc63-43f7-96f5-c12506bf239e" 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%2FPqmHWozSBkJtJaP4eUdE%2Fimage.png?alt=media&amp;token=8dc37308-0ab3-4690-8c08-6c9b4a65bf63" alt=""><figcaption><p>[화면] 빌드 생성 - 도커 파일 내용 입력</p></figcaption></figure>

   <table><thead><tr><th width="204">항목(*는 필수)</th><th>내용</th></tr></thead><tbody><tr><td>작업 명*</td><td>이미지 빌드에 대한 작업 단계를 말하며, 해당 작업에 대한 이름 입력</td></tr><tr><td>도커 파일 내용 입력*</td><td>실제 컨테이너 이미지를 만들기 위해 도커 파일 내용 입력</td></tr></tbody></table>

3. \[저장] 버튼을 클릭합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F2aupNkkPTc3QTA3QJ4JZ%2Fimage.png?alt=media&amp;token=9f22b1b8-0da6-43cb-8a5f-dfbdfb429bcc" 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%2FGuSGhZMFmu03M0QrZD19%2Fimage.png?alt=media&amp;token=60480756-c7e4-47cf-a419-b011e697f481" alt=""><figcaption><p>[화면] 빌드 생성 - 빌드 노트 입력</p></figcaption></figure>

5. 아래 메시지를 확인하고, \[ok] 버튼을 클릭합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FCMadHmZEPMZVk9T0LWbz%2Fimage.png?alt=media&amp;token=f08a966e-525b-462e-b49b-d5a1638d74bf" alt=""><figcaption><p>[화면] 빌드 생성 - 빌드 저장</p></figcaption></figure>

### 1-8. NCP 오브젝트 스토리지 업로드

1. \[빌드 작업 추가] 버튼을 클릭하고, \[NCP 오브젝트 스토리지 업로드]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FJnHADnxU0fyHbqKUBQa8%2Fimage.png?alt=media&amp;token=b30a1c32-8837-4bc9-88b0-b9ca2735ab76" alt=""><figcaption><p>[화면] 빌드 생성 - NCP 오브젝트 스토리지 업로드 선택</p></figcaption></figure>

2. NCP 오브젝트 스토리지에 업로드하기 위한 정보를 입력합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FKJ3GRdw7Gnzo5htW8MZX%2Fimage.png?alt=media&amp;token=3472548b-9d51-492c-a4d5-03a76e7d3883" alt=""><figcaption><p>[화면] NCP 오브젝트 스토리지 업로드 정보 입력</p></figcaption></figure>

<table><thead><tr><th width="235">항목(*는 필수)</th><th width="513">내용</th><th data-hidden></th></tr></thead><tbody><tr><td>작업 명*</td><td>해당 작업이 어떤 내용 인지에 대한 내용 등을 작성</td><td></td></tr><tr><td>리전*</td><td>오브젝트 스토리지가 있는 리전 명 작성</td><td></td></tr><tr><td>리전 API Ur*</td><td>위에서 작성한 리전에 대해 NCP에서 제공하고 있는 API Url 작성</td><td></td></tr><tr><td>AccessKeyId*</td><td>오브젝트 스토리지 접근을 위한 AccessKeyId 작성</td><td></td></tr><tr><td>SecretAccessKey*</td><td>오브젝트 스토리지 접근을 위한 SecretAccessKey 작성</td><td></td></tr><tr><td>버킷*</td><td>NCP에서 생성한 버킷명 작성</td><td></td></tr><tr><td>버킷 저장 경로*</td><td>버킷에 업로드할 경로 입력</td><td></td></tr><tr><td>로컬 파일 경로*</td><td>업로드할 파일 경로와 파일명 작성</td><td></td></tr><tr><td>업로드 타임아웃*</td><td>업로드 타임아웃 시간 작성</td><td></td></tr></tbody></table>

### 1-9. NCP 오브젝트 스토리지 다운로드

1. \[빌드 작업 추가] 버튼을 클릭하고, \[NCP 오브젝트 스토리지 다운로드]을 선택합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FLpQK6y9x3AaGXbAWlSFY%2Fimage.png?alt=media&amp;token=3b79febe-31f5-4829-9b1a-0adf2c983924" alt=""><figcaption><p>[화면] 빌드 생성 - NCP 오브젝트 스토리 다운로드 선택</p></figcaption></figure>

2. NCP 오브젝트 스토리지에서 다운로드하기 위한 정보를 입력합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2F7qiFZeUybLBj4t51UUHY%2Fimage.png?alt=media&amp;token=ce89ed8c-2543-42af-bedf-0199b32fcc5b" alt=""><figcaption><p>[화면] NCP 오브젝트 스토리지 다운로드 정보 입력</p></figcaption></figure>

<table><thead><tr><th width="235">항목(*는 필수)</th><th width="513">내용</th><th data-hidden></th></tr></thead><tbody><tr><td>작업 명*</td><td>해당 작업이 어떤 내용 인지에 대한 내용 등을 작성</td><td></td></tr><tr><td>리전*</td><td>오브젝트 스토리지가 있는 리전 명 작성</td><td></td></tr><tr><td>리전 API Ur*</td><td>위에서 작성한 리전에 대해 NCP에서 제공하고 있는 API Url 작성</td><td></td></tr><tr><td>AccessKeyId*</td><td>오브젝트 스토리지 접근을 위한 AccessKeyId 작성</td><td></td></tr><tr><td>SecretAccessKey*</td><td>오브젝트 스토리지 접근을 위한 SecretAccessKey 작성</td><td></td></tr><tr><td>버킷*</td><td>NCP에서 생성한 버킷명 작성</td><td></td></tr><tr><td>버킷 저장 경로*</td><td>버킷에 다운로드할 경로 입력</td><td></td></tr><tr><td>로컬 파일 경로*</td><td>업로드할 파일 경로와 파일명 작성</td><td></td></tr><tr><td>업로드 타임아웃*</td><td>업로드 타임아웃 시간 작성</td><td></td></tr></tbody></table>

### 1-10. SonarQube 스캔

1. \[빌드 작업 추가] 버튼을 클릭하고, \[SonarQube 스캔]을 선택합니다.&#x20;

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FyfXiVEGml8VOPTAhEHqL%2Fimage.png?alt=media&amp;token=c3b591aa-1bc0-4367-a2e4-471b68774aa8" alt=""><figcaption><p>[화면] 빌드 생성 - SonarQube 스캔 선택</p></figcaption></figure>

2. SonarQube 스캔 작업을 위한 설정 정보를 입력합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FrHJX91u447gt9uPbR64u%2Fimage.png?alt=media&amp;token=caab9699-eb2c-4124-a976-ac56d08bde98" alt=""><figcaption><p>[화면] SonarQube 스캔 작업 설정</p></figcaption></figure>

<table><thead><tr><th width="235">항목(*는 필수)</th><th width="513">내용</th><th data-hidden></th></tr></thead><tbody><tr><td>작업 명</td><td>해당 작업이 어떤 내용 인지에 대한 내용 등을 작성</td><td></td></tr><tr><td>애플리케이션 언어</td><td>Java 만 지원</td><td></td></tr><tr><td>Language version/ framework</td><td>Java 8, Java 11, Java 17 중 선택</td><td></td></tr><tr><td>빌드 도구</td><td>현재 Maven만 지원</td><td></td></tr><tr><td>SonarQube 호스트 주소*</td><td>정적 분석 결과를 전송할 SonarQube 서버 호스트 주소</td><td></td></tr><tr><td>SonarQube 프로젝트 키*</td><td>정적 분석 결과를 전송할 SonarQube Project Key</td><td></td></tr><tr><td>SonarQube 토큰*</td><td>SonarQube 인증 토큰</td><td></td></tr><tr><td>실행 경로*</td><td>정적 분석을 실행할 경로</td><td></td></tr><tr><td>작업 볼륨 추가</td><td>볼륨 추가 버튼을 클릭하여 실행 경로 항목(컨테이너 경로)과 소스 다운로드 받은 경로(빌드 호스트 경로)를 Mount</td><td></td></tr></tbody></table>

## 2. 이미지 빌드 실행

### 2-1. 이미지 빌드 실행

1. 빌드가 실행되면 한 번은 자동으로 이미지 빌드가 진행되며, 빌드에 대한 정보와 진행 상황을 확인할 수 있습니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FgoOuwx8xFBRTdHlMpipz%2Fimage.png?alt=media&amp;token=e4c71dc4-1ea2-4b16-9796-9521e3371cdb" 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%2FOOmmuxUPwlIp8RTg6KHc%2Fimage.png?alt=media&amp;token=717568eb-bee1-4b6d-b5be-e889b2d606ae" alt=""><figcaption><p>[화면] 빌드 상세 - 빌드 로그 확인</p></figcaption></figure>

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FXG6iXEENk9cLOiTfSGy7%2Fimage.png?alt=media&amp;token=913fcf31-6b5b-4173-9344-e5290e46d341" alt=""><figcaption><p>[화면] 빌드 상세 - 빌드 로그 확인</p></figcaption></figure>
3. 정상적으로 빌드가 완료되면, 모든 진행 상황이 Done으로 표시됩니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FtEVCAHD3sMcn9FGBjVK5%2Fimage.png?alt=media&amp;token=57626f05-4894-49b1-9c57-48f37f6d3adc" alt=""><figcaption><p>[화면] 빌드 상세 - 빌드 실행 완료</p></figcaption></figure>

### 2-2. 이미지 빌드 재실행

1. 해당 빌드의 상세 화면으로 이동합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FJNttU1V8XN8bbSv6Nl53%2Fimage.png?alt=media&amp;token=8937b76e-7ed2-4c6e-8bcc-4103c06d7d57" alt=""><figcaption><p>[화면] 빌드 목록 - 빌드 상세 페이지 접속</p></figcaption></figure>

2. 재실행할 빌드의 태그를 클릭합니다.<br>

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FkOxsRW1STHFX50E1ogD4%2Fimage.png?alt=media&amp;token=d9717119-ca0f-427a-b8cb-e6226f0b38d3" 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%2F9P192XLVySYPgqPuEX9J%2Fimage.png?alt=media&amp;token=f863e8e7-a782-41af-93bd-786b36e93e6c" 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%2FBL2qnxAb1ivgjWe2JNqO%2Fimage.png?alt=media&amp;token=52a43cce-137e-4b03-b8d2-f2bc455ca887" alt=""><figcaption><p>[화면] 빌드 목록 - 빌드 노트 입력</p></figcaption></figure>

5. 빌드 진행 과정을 확인합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FNm2pqcl97XEWpw0lFCKf%2Fimage.png?alt=media&amp;token=b2cb9536-a19b-45e5-b2a5-28ce973f854f" alt=""><figcaption><p>[화면] 빌드 목록 - 빌드 재실행</p></figcaption></figure>

### 2-3. 이미지 빌드 내역 확인

1. 해당 빌드의 상세 화면으로 이동합니다.

   <figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FJNttU1V8XN8bbSv6Nl53%2Fimage.png?alt=media&amp;token=8937b76e-7ed2-4c6e-8bcc-4103c06d7d57" 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%2FFWv6iBbrPEjBWvOGWxSP%2Fimage.png?alt=media&amp;token=f2a90ffa-fbe0-403e-897a-818f7f5ca9c5" 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%2FB57tYvP2qcYnn0v0yXNV%2Fimage.png?alt=media&amp;token=995f7aa2-2142-4469-bfdb-98321e40eb47" 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%2FDriEwBRdRynR3CqVLHjL%2Fimage.png?alt=media&amp;token=fc4be740-8084-4a20-bc2d-a70e5b925638" alt=""><figcaption><p>[화면] 빌드 상세 - 빌드 내역 정보 확인</p></figcaption></figure>
