파이프라인 만들기
파이프라인 스튜디오에서 새 파이프라인을 생성하거나, 기존에 생성된 파이프라인을 복제 후 수정하여 생성할 수 있습니다. 또한, 사용자 편의를 위해 스타터와 템플릿을 제공합니다. DevOps Pipeline 서비스에서 파이프라인(Pipeline)을 만드는 방법은 다음과 같습니다.
-
카카오 i 클라우드 콘솔에서 DevOps Pipeline 메뉴를 선택합니다.
-
Pipeline 탭에서 [파이프라인 만들기] 버튼을 클릭합니다.
이미지 DevOps Pipeline 만들기
- 새 파이프라인 팝업창에서 정보를 입력하고, [만들기] 버튼을 클릭합니다.
- [만들기] 버튼을 클릭하지 않고 팝업창에서 나갈 경우 처음부터 만들기 유형이 적용됩니다.
이미지 새 파이프라인 팝업창
구분 설명 파이프라인 선택 파이프라인 생성 유형을 선택
- 스타터: 많이 쓰는 CI/CD 애플리케이션 중심으로 구성된 샘플을 제공하고, 일부 값을 수정하여 파이프라인을 구성
- 내 템플릿: 내가 만들어둔 템플릿을 불러와 수정/편집하여 파이프라인을 구성
- 처음부터 만들기: 빈 화면에서 시작하여 처음부터 내 상황에 맞는 파이프라인을 구성스타터 선택 스타터를 선택
- 스타터 종류: Docker Build, Maven Build, Gradle Build - 선택한 스타터 유형에 따라 파이프라인 스튜디오가 빈 화면 또는 태스크 블럭이 제공된 상태로 시작됩니다.
- 파이프라인 스튜디오는 파이프라인 편집을 위해 사용됩니다.
이미지 파이프라인 스튜디오
구분 설명 ① 상단 영역 파이프라인의 기본 정보와 실행 요약 정보를 확인 가능
- [새로 만들기] 버튼: 생성 중이던 파이프라인을 무시하고 새 파이프라인을 생성
- [파이프라인 저장] 버튼: 파이프라인을 저장
- [더보기] 아이콘: 파이프라인 유형에 따라 임시 저장 또는 템플릿 저장으로 더보기 메뉴 다르게 제공
파이프라인 저장 유형에 따른 더보기 메뉴
- 기본 파이프라인: 임시 저장 또는 새 템플릿으로 저장
- 임시 저장 파이프라인: 임시 저장
- 파이프라인 템플릿: 이 템플릿 저장 또는 새 템플릿으로 저장② 태스크 추가 태스크를 추가하는 패널
- 태스크 타입 선택 시 스테이지에 태스크 블럭 추가
- 소스: 개발 코드 저장소로, 태스크 타입은 Gitlab / Github / Github Enterprise Server / Bitbucket로 구성
- 빌드: 코드를 배포하는 툴로, 태스크 타입은 Maven / Grandle / Golang / NPM / Docker로 구성
- 배포: 빌드된 소스를 배포하는 툴로, 태스크 타입은 SCP / Sftp / FTP / Kubectl / Helm / SSH로 구성
- 결재: 결재를 진행하는 태스크로, 태스크 타입은 결재
- 업로드: 배포 결과를 업로드하는 툴로, 태스크 타입은 Nexus③ 스테이지 파이프라인 생성을 위해 태스크 블럭을 배치 및 연결하는 영역
- 각 태스크 블럭 추가 후 마우스로 연결선을 드래그하여 연결
- 태스크 블럭 간 반드시 연결해야 함④ 태스크 설정 태스크 상세 정보 설정
- 태스크 설정: 테스크 타입 선택
ㄴ [휴지통 아이콘] 클릭 시 태스크 블럭 삭제
- 태스크 기본 정보: 태스크 이름 및 설명 입력
- 설정: 사전에 생성한 외부 서비스, 인증, 이미지 정보 등을 불러와 태스크 타입에 따라 설정
- 자세한 사항은 외부 서비스 관리하기 및 태스크 타입별 설정하기를 참고 - 파이프라인 저장 팝업창에서 정보를 확인하고, [저장] 버튼을 클릭합니다.
- 파이프라인 저장 시 각 태스크의 설정이 모두 적합한 경우에만 기본 파이프라인으로 저장할 수 있습니다.
이미지 파이프라인 저장 팝업창
구분 설명 ① 파이프라인 기본 정보 파이프라인 이름: 필수 입력
파이프라인 설명 (선택): 파이프라인에 대한 설명② 파이프라인 설정 정보 각 태스크에 대한 설정 정보
- 기본 파이프라인으로 저장할 때만 확인할 수 있음
태스크 타입별 설정하기
파이프라인 스튜디오에서 선택한 태스크에 대한 설정값을 입력하기 위해서는 카카오 i 클라우드 콘솔 > DevOps Pipeline > Configuration에서 저장한 설정을 불러와 태스크 타입을 설정합니다. 환경 설정에 대한 자세한 설명은 DevOps Pipeline > 외부 서비스 관리를 참고하시기 바랍니다.
소스
소스 태스크 타입 모두 동일한 설정 항목을 입력합니다.
이미지 소스 태스크 설정
구분 | 설명 |
---|---|
① 외부 서비스 | DevOps Pipeline > 환경 설정 > 외부 서비스에서 미리 생성한 외부 서비스 이름을 선택 |
② 리비전 | 가져올 소스의 리비전(Revision) 정보를 입력 |
빌드
Maven
이미지 Maven 태스크 설정
구분 | 설명 |
---|---|
① 명령어 | Maven 명령어(Goal)를 입력 - 최소 1개의 명령어 필수 입력 - 명령어 입력창을 추가하거나 삭제 가능 |
② 컨텍스트 경로 | pom.xml의 위치를 입력 |
③ 태스크 이미지 | DevOps Pipeline > 환경 설정 > 태스크 이미지에 미리 생성한 태스크 이미지 이름을 선택 |
Gradle
이미지 Gradle 태스크 설정
구분 | 설명 |
---|---|
① 태스크 | Gradle 태스크를 입력 - 최소 1개의 태스크 필수 입력 - 태스크 입력창을 추가하거나 삭제 가능 |
② 컨텍스트 경로 | build.gradle의 위치를 입력 |
③ 태스크 이미지 | DevOps Pipeline > 환경 설정 > 태스크 이미지에서 미리 생성한 태스크 이미지 이름을 선택 |
NPM
이미지 NPM 태스크 설정
구분 | 설명 |
---|---|
① 실행 스크립트 | 실행 스크립트(Run Script)의 이름을 입력 |
② 컨텍스트 경로 | package.json 파일의 위치를 입력 |
③ 태스크 이미지 | DevOps Pipeline > 환경 설정 > 태스크 이미지에서 미리 생성한 태스크 이미지 이름을 선택 |
Docker
이미지 Docker 태스크 설정
구분 | 설명 |
---|---|
① 외부 서비스 | DevOps Pipeline > 환경 설정 > 외부 서비스에서 미리 생성한 태스크 이미지 이름을 선택 |
② 도커 파일 경로 | 실행할 도커 파일의 위치(Docker file Path)를 입력 |
③ 이미지 이름 | 실행할 도커 이미지 이름을 입력 |
④ 태그 | 실행할 도커 태그를 입력 |
배포
SFTP
이미지 SFTP 태스크 설정
구분 | 설명 |
---|---|
① 소스 경로 | 복사할 소스 파일 경로를 입력 |
② 타겟 서버 | DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택 |
③ 타겟 경로 | 배포할 타겟 경로를 입력 |
FTP
이미지 FTP 태스크 설정
구분 | 설명 |
---|---|
① 소스 경로 | 복사할 소스 파일 경로를 입력 |
② 타겟 서버 | DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택 |
③ 타겟 경로 | 배포할 타겟 경로를 입력 |
SCP
이미지 SCP 태스크 설정
구분 | 설명 |
---|---|
① 소스 파일 패턴 | 복사할 소스 파일 경로를 입력 |
② 타겟 서버 | DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택 |
③ 타겟 경로 | 배포할 타겟 경로를 입력 |
Kubectl
이미지 Kubectl 태스크 설정
구분 | 설명 |
---|---|
① 배포 yaml 경로 | 배포할 yaml 파일 경로를 입력 |
② 크리덴셜 | DevOps Pipeline > 환경 설정 > 크리덴셜에 미리 설정한 크리덴셜을 선택 |
③ 네임스페이스 | 배포할 네임스페이스를 입력 |
Helm
이미지 Helm 태스크 설정
구분 | 설명 |
---|---|
① 배포 차트 경로 | 배포할 차트 경로를 입력 |
② 크리덴셜 | DevOps Pipeline > 환경 설정 > 크리덴셜에 미리 설정한 크리덴셜을 선택 |
③ 헬름 차트 이름 | 헬름 차트 이름을 입력 |
④ 네임스페이스 | 배포할 네임스페이스를 입력 |
⑤ 밸류 파일 | 재정의(override) 할 파일 경로를 입력 |
SSH
이미지 SSH 태스크 설정
구분 | 설명 |
---|---|
① 스크립트 | 배포할 스크립트 |
② 타겟 서버 | DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택 |
결재
이미지 결재 태스크 설정
구분 | 설명 |
---|---|
① 결재 템플릿 불러오기 | - [새로 만들기] 버튼: 결재선 템플릿 없이 직접 설정 - [결재선 템플릿 불러오기] 버튼: DevOps Pipeline > 환경 설정 > 결재선 템플릿에서 미리 설정한 템플릿을 선택 |
② 단계 | 결재를 요청할 순서 - 최소 1단계 필수 설정 - 결재 또는 합의 선택 - 결재자 또는 합의자 선택 ㄴ 결재 또는 합의를 수행할 사용자 아이디(이메일) 입력 ㄴ 해당 프로젝트 멤버여야 함 ㄴ 결재자일 경우 최소 1명, 합의자일 경우 최소 2명 설정 필요 - [화살표] 아이콘을 클릭하여 결재 단계 순서 이동 가능 - [휴지통] 아이콘을 클릭하여 단계 또는 결재자/합의자 삭제 ㄴ 최소 결재/합의 인원보다 적을 시 삭제 불가 |
③ [결재선 추가] 버튼 | 결재 단계를 추가 - 최대 5단계까지 추가 가능 |
업로드
Nexus
Nexus는 Pom 파일 생성할 때와 생성하지 않을 때 입력 양식이 다릅니다.
Pom 파일 생성 안 함(기본값)
이미지 Nexus 태스크 설정 - Pom 파일 생성 안 함
구분 | 설명 |
---|---|
① 외부 서비스 선택 | DevOps Pipeline > 환경 설정 > 외부 서비스에 미리 설정한 외부 서비스를 선택 |
② POM 파일 생성 | POM 파일을 생성할지 여부를 선택 - 생성 안함(기본값): POM 파일을 생성 안 함 - 생성함: POM 파일을 생성할 경우 생성값을 설명 |
③ 리포지토리 | 리포지토리(Repository) 정보 입력 |
④ 업로드 파일 | 업로드 파일은 최소 1개 최대 2개까지 설정 가능 - 업로드 파일: 파일 상대 경로를 입력 - 확장자: jar, pom, zip 확장자 중 선택 - 구분 (선택): javadoc, sources, tests 등의 구분값을 입력 |
Pom 파일 생성함
이미지 Nexus 태스크 설정 - Pom 파일 생성함
구분 | 설명 |
---|---|
① 외부 서비스 | DevOps Pipeline > 환경 설정 > 외부 서비스에 미리 설정한 외부 서비스를 선택 |
② POM 파일 생성 | POM 파일을 생성할지 여부를 선택 - 생성 안함(기본값): POM 파일을 생성 안 함 - 생성함: POM 파일을 생성할 경우 생성값을 설명 |
③ 리포지토리 | 리포지토리 정보 입력 |
④ 그룹 ID | 컴포넌트 그룹 ID 입력 |
⑤ 아티팩트 ID | 컴포넌트 아티팩트 ID 입력 |
⑥ 패키징 (선택) | 패키징할 경우 어떤 확장자로 패키징할지 입력하고, 패키징하지 않을 경우 입력은 선택 가능 |
⑦ 버전 | 컴포넌트 버전값 |
⑧ 업로드 파일 | 업로드 파일: 파일 상대 경로를 입력 확장자: jar, pom, zip 확장자 중 선택 구분 (선택): javadoc, sources, tests 등의 구분 값을 입력 |