이미지 빌드하기
앞에서 이미지 빌드 시 필요한 빌드 서버 생성을 완료하였습니다. 이제 이미지 빌드를 생성해 보겠습니다.
Last updated
앞에서 이미지 빌드 시 필요한 빌드 서버 생성을 완료하였습니다. 이제 이미지 빌드를 생성해 보겠습니다.
Last updated
[빌드/파이프라인] - [빌드] 항목을 선택합니다.
우측 상단의 [생성] 버튼을 클릭합니다.
빌드 정보를 입력합니다.
이미지 명*
해당 이미지가 어떤 이미지인지 상세 작성(단, 대문자는 작성 불가)
레지스트리*
기 생성한 레지스트리를 선택
(레지스트리가 여러 개 있을 경우에는 해당되는 레지스트리 선택)
자동태그 사용 여부(택1)
이미지를 업데이트 또는 변경 시에 자동으로 태그 설정 유무
("사용/미사용"으로 나뉘며, 미사용으로 선택 시에는 태그가 고정되어 이미지가 엎어쳐질 수 있음)
태그*
생성된 이미지에 태그를 붙일 내용을 작성
(자동 태그 사용 여부에 "미사용"으로 선택할 경우 여기에 작성된 태그로 계속 사용)
자동증가 유형 (택1)
자동 태그 사용 여부에 “사용”을 설정할 경우에 "시간/순번"으로 지정할 수 있음
빌드 실행 서버 (택1)
빌드를 진행할 서버 선택
하단에 [빌드 작업 추가] 버튼을 클릭하여 빌드 시 필요한 항목들을 선택합니다.
코드 리파지토리 작업
소스를 불러드릴 git 등에 대한 정보 설정
사용자 작업
git 등에서 불러들인 소스를 빌드 등에 대한 정보 설정
파일(FTP) 작업
원격 호스트와 빌드 작업을 수행할 빌드 호스트 사이에 파일이나 디렉토리를 다운로드하거나 업로드하는 작업 설정
REST 호출 작업
외부 서비스와 REST 방식으로 연동이 필요한 경우, REST 호출 작업을 설정
스크립트 작업
특정 스크립트가 필요할 경우 스크립트 정보 설정
이미지 빌드 작업*
빌드 된 소스를 Base image에 적용하여 신규 이미지를 생성할 수 있도록 Dockerfile 작성
[코드 리파지토리 작업] 선택합니다.
소스를 불러올 때 사용할 정보를 입력하고, [적용] 버튼을 클릭합니다.
작업 명*
이미지 빌드에 대한 작업 단계, 해당 작업에 대한 제목 입력
리파지토리 주소*
소스를 불러들일 git 등에 대한 주소 입력
브랜치*
리파지토리에 적용된 소스 브랜치 입력
인증
인증에 대한 콤보 박스 선택 시 git 접속에 필요한 사용자 계정, 패스워드 입력
코드 저장 경로
소스를 저장할 디렉토리 입력
미 작성 시 git 프로젝트 이름으로 자동 생성
[빌드 작업 추가] 버튼을 클릭하여 [사용자 작업]을 선택합니다.
[실행 정보] 항목에 소스 빌드에 필요한 명령어를 입력합니다.
작업 명*
작업 내용에 대한 자세한 정보 작성
실행 경로
빌드 컨테이너에서 빌드가 실행될 경로
작성 시 /build 입력(고정 값)
[작업 볼륨] 항목에 소스 빌드 시 필요한 디렉토리 경로를 입력하고, [적용] 버튼을 클릭합니다.
컨테이너 경로*
소스를 빌드 할 컨테이너의 경로를 작성
빌드 호스트 경로*
소스 빌드 시 임시 컨테이너를 생성하여 빌드를 진행하게 되는데, 이때 사용되는 임시 컨테이너의 경로
파일(FTP) 작업은 빌드할 대상 관련 리소스를 포함하는 원격 호스트와 빌드 작업을 수행할 빌드 호스트 사이에 파일이나 디렉토리를 다운로드하거나 업로드용으로 사용합니다.
[빌드 작업 추가] 버튼을 클릭하고, [파일(FTP) 작업]을 선택합니다.
파일(FTP) 작업을 위한 정보를 입력하고, [적용] 버튼을 클릭합니다.
작업 명*
파일(FTP) 에 대한 작업 단계를 말하며, 해당 작업에 대한 이름 입력
호스트 주소*
업로드가 필요한 디렉토리 또는 파일이 있는 server 주소
인증*
호스트 주소의 계정과 패스워드가 있을 경우 설정 필요
사용자/패스워드*
호스트 주소의 접속 계정과 패스워드
작업 유형(택1)
File Download (이미지 빌드 시 이미지 안에 넣을 경우 해당 유형 선택 필요)
원격 디렉토리/파일*
이미지 빌드 시 이미지에 업로드 할 파일의 절대 경로 (호스트 주소에 해당 파일이 존재해야 함)
빌드 호스트 디렉토리*
업로드 할 디렉토리 위치 (/tmp/ 고정)
REST 호출 작업은 외부 서비스와 REST 방식으로 연동이 필요한 경우에 사용합니다.
[빌드 작업 추가] 버튼을 클릭하고, [REST 호출 작업]을 선택합니다.
REST 호출 작업을 위한 정보를 입력합니다.
작업 명*
REST 호출에 대한 작업 단계, 해당 작업에 대한 이름 입력
REST Method(택1)
API를 호출할 Method 선택
URL*
API를 호출할 URL 작성
인증
호스트 주소의 계정과 패스워드가 있을 경우 설정 필요
사용자/패스워드
호스트 주소의 접속 계정과 패스워드
접속 타임아웃*
API 호출에 대한 응답 시간 작성
기대 응답 코드*
API 호출 후 성공 코드 작성
(ex] 200)
기대 응답 내용
공백으로 비워 둬야 함
응답을 받을 저장 빌드 호스트 경로
응답 값 저장이 필요할 경우 파일명 작성 (ex] response.txt)
HEADER가 필요한 경우, [Header 추가]를 선택하여 Header와 Value 값을 입력하고, [적용] 버튼을 클릭합니다.
Header : Authorization, Value : Basic {인증 문자열} 형식으로 입력합니다.
{인증 문자열}은 Image 레지스트리의 id:password을 base64로 encoding 한 문자열 사용합니다.
스크립트 작업은 이미지 빌드 시 필요한 스크립트가 있을 경우에 사용합니다.
[빌드 작업 추가] 버튼을 클릭하고, [REST 호출 작업]을 선택합니다.
스크립트 작업을 위한 정보를 입력하고, [적용] 버튼을 클릭합니다.
작업 명*
이미지 빌드에 대한 작업 단계를 말하며, 해당 작업에 대한 제목을 입력
스크립트 내용 입력*
실행할 스크립트 내용 작성
[빌드 작업 추가] 버튼을 클릭하여 [이미지 빌드 작업]을 선택합니다.
소스 빌드가 끝나면, 컨테이너 이미지를 만들기 위한 도커 파일 내용을 입력하고, [적용] 버튼을 클릭합니다.
작업 명*
이미지 빌드에 대한 작업 단계를 말하며, 해당 작업에 대한 이름 입력
도커 파일 내용 입력*
실제 컨테이너 이미지를 만들기 위해 도커 파일 내용 입력
[저장] 버튼을 클릭합니다.
빌드 노트에 빌드에 대한 코멘트를 입력하고, 저장 버튼을 클릭합니다.
아래 메시지를 확인하고, [ok] 버튼을 클릭합니다.
[빌드 작업 추가] 버튼을 클릭하고, [NCP 오브젝트 스토리지 업로드]을 선택합니다.
NCP 오브젝트 스토리지에 업로드하기 위한 정보를 입력합니다.
작업 명*
해당 작업이 어떤 내용 인지에 대한 내용 등을 작성
리전*
오브젝트 스토리지가 있는 리전 명 작성
리전 API Ur*
위에서 작성한 리전에 대해 NCP에서 제공하고 있는 API Url 작성
AccessKeyId*
오브젝트 스토리지 접근을 위한 AccessKeyId 작성
SecretAccessKey*
오브젝트 스토리지 접근을 위한 SecretAccessKey 작성
버킷*
NCP에서 생성한 버킷명 작성
버킷 저장 경로*
버킷에 업로드할 경로 입력
로컬 파일 경로*
업로드할 파일 경로와 파일명 작성
업로드 타임아웃*
업로드 타임아웃 시간 작성
[빌드 작업 추가] 버튼을 클릭하고, [NCP 오브젝트 스토리지 다운로드]을 선택합니다.
NCP 오브젝트 스토리지에서 다운로드하기 위한 정보를 입력합니다.
작업 명*
해당 작업이 어떤 내용 인지에 대한 내용 등을 작성
리전*
오브젝트 스토리지가 있는 리전 명 작성
리전 API Ur*
위에서 작성한 리전에 대해 NCP에서 제공하고 있는 API Url 작성
AccessKeyId*
오브젝트 스토리지 접근을 위한 AccessKeyId 작성
SecretAccessKey*
오브젝트 스토리지 접근을 위한 SecretAccessKey 작성
버킷*
NCP에서 생성한 버킷명 작성
버킷 저장 경로*
버킷에 다운로드할 경로 입력
로컬 파일 경로*
업로드할 파일 경로와 파일명 작성
업로드 타임아웃*
업로드 타임아웃 시간 작성
[빌드 작업 추가] 버튼을 클릭하고, [SonarQube 스캔]을 선택합니다.
SonarQube 스캔 작업을 위한 설정 정보를 입력합니다.
작업 명
해당 작업이 어떤 내용 인지에 대한 내용 등을 작성
애플리케이션 언어
Java 만 지원
Language version/ framework
Java 8, Java 11, Java 17 중 선택
빌드 도구
현재 Maven만 지원
SonarQube 호스트 주소*
정적 분석 결과를 전송할 SonarQube 서버 호스트 주소
SonarQube 프로젝트 키*
정적 분석 결과를 전송할 SonarQube Project Key
SonarQube 토큰*
SonarQube 인증 토큰
실행 경로*
정적 분석을 실행할 경로
작업 볼륨 추가
볼륨 추가 버튼을 클릭하여 실행 경로 항목(컨테이너 경로)과 소스 다운로드 받은 경로(빌드 호스트 경로)를 Mount
빌드가 실행되면 한 번은 자동으로 이미지 빌드가 진행되며, 빌드에 대한 정보와 진행 상황을 확인할 수 있습니다.
[로그 보기] 버튼을 클릭하면 이미지 빌드에 대한 로그를 확인할 수 있습니다.
정상적으로 빌드가 완료되면, 모든 진행 상황이 Done으로 표시됩니다.
해당 빌드의 상세 화면으로 이동합니다.
재실행할 빌드의 태그를 클릭합니다.
[재실행] 버튼을 클릭합니다.
빌드 노트를 입력하고, [저장] 버튼을 클릭합니다.
빌드 진행 과정을 확인합니다.
해당 빌드의 상세 화면으로 이동합니다.
[빌드 내역]을 클릭합니다.
해당 빌드의 태그를 클릭합니다.
빌드 내역 상세한 정보를 확인합니다.