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