파이프라인 만들기

페이지 이동경로

파이프라인 만들기

파이프라인 스튜디오에서 새 파이프라인을 생성하거나, 기존에 생성된 파이프라인을 복제 후 수정하여 생성할 수 있습니다. 또한, 사용자 편의를 위해 스타터와 템플릿을 제공합니다. DevOps Pipeline 서비스에서 파이프라인(Pipeline)을 만드는 방법은 다음과 같습니다.

  1. 카카오 i 클라우드 콘솔에서 DevOps Pipeline 메뉴를 선택합니다.

  2. Pipeline 탭에서 [파이프라인 만들기] 버튼을 클릭합니다.

    이미지 | DevOps Pipeline 화면 이미지 DevOps Pipeline 만들기

  3. 새 파이프라인 팝업창에서 정보를 입력하고, [만들기] 버튼을 클릭합니다.
    • [만들기] 버튼을 클릭하지 않고 팝업창에서 나갈 경우 처음부터 만들기 유형이 적용됩니다.

    이미지 | 새 파이프라인 팝업창 이미지 새 파이프라인 팝업창

    구분 설명
    파이프라인 선택 파이프라인 생성 유형을 선택
    - 스타터: 많이 쓰는 CI/CD 애플리케이션 중심으로 구성된 샘플을 제공하고, 일부 값을 수정하여 파이프라인을 구성
    - 내 템플릿: 내가 만들어둔 템플릿을 불러와 수정/편집하여 파이프라인을 구성
    - 처음부터 만들기: 빈 화면에서 시작하여 처음부터 내 상황에 맞는 파이프라인을 구성
    스타터 선택 스타터를 선택
    - 스타터 종류: Docker Build, Maven Build, Gradle Build
  4. 선택한 스타터 유형에 따라 파이프라인 스튜디오가 빈 화면 또는 태스크 블럭이 제공된 상태로 시작됩니다.
    • 파이프라인 스튜디오는 파이프라인 편집을 위해 사용됩니다.

    이미지 | 파이프라인 스튜디오 이미지 파이프라인 스튜디오

    구분 설명
    ① 상단 영역 파이프라인의 기본 정보와 실행 요약 정보를 확인 가능
    - [새로 만들기] 버튼: 생성 중이던 파이프라인을 무시하고 새 파이프라인을 생성
    - [파이프라인 저장] 버튼: 파이프라인을 저장
    - [더보기] 아이콘: 파이프라인 유형에 따라 임시 저장 또는 템플릿 저장으로 더보기 메뉴 다르게 제공

    파이프라인 저장 유형에 따른 더보기 메뉴
    - 기본 파이프라인: 임시 저장 또는 새 템플릿으로 저장
    - 임시 저장 파이프라인: 임시 저장
    - 파이프라인 템플릿: 이 템플릿 저장 또는 새 템플릿으로 저장
    ② 태스크 추가 태스크를 추가하는 패널
    - 태스크 타입 선택 시 스테이지에 태스크 블럭 추가
    - 소스: 개발 코드 저장소로, 태스크 타입은 Gitlab / Github / Github Enterprise Server / Bitbucket로 구성
    - 빌드: 코드를 배포하는 툴로, 태스크 타입은 Maven / Grandle / Golang / NPM / Docker로 구성
    - 배포: 빌드된 소스를 배포하는 툴로, 태스크 타입은 SCP / Sftp / FTP / Kubectl / Helm / SSH로 구성
    - 결재: 결재를 진행하는 태스크로, 태스크 타입은 결재
    - 업로드: 배포 결과를 업로드하는 툴로, 태스크 타입은 Nexus
    ③ 스테이지 파이프라인 생성을 위해 태스크 블럭을 배치 및 연결하는 영역
    - 각 태스크 블럭 추가 후 마우스로 연결선을 드래그하여 연결
    - 태스크 블럭 간 반드시 연결해야 함
    ④ 태스크 설정 태스크 상세 정보 설정
    - 태스크 설정: 테스크 타입 선택
      ㄴ [휴지통 아이콘] 클릭 시 태스크 블럭 삭제
    - 태스크 기본 정보: 태스크 이름 및 설명 입력
    - 설정: 사전에 생성한 외부 서비스, 인증, 이미지 정보 등을 불러와 태스크 타입에 따라 설정
    - 자세한 사항은 외부 서비스 관리하기태스크 타입별 설정하기를 참고
  5. 파이프라인 저장 팝업창에서 정보를 확인하고, [저장] 버튼을 클릭합니다.
    • 파이프라인 저장 시 각 태스크의 설정이 모두 적합한 경우에만 기본 파이프라인으로 저장할 수 있습니다.

    이미지 | 파이프라인 스튜디오 저장하기 이미지 파이프라인 저장 팝업창

    구분 설명
    ① 파이프라인 기본 정보 파이프라인 이름: 필수 입력
    파이프라인 설명 (선택): 파이프라인에 대한 설명
    ② 파이프라인 설정 정보 각 태스크에 대한 설정 정보
    - 기본 파이프라인으로 저장할 때만 확인할 수 있음

태스크 타입별 설정하기

파이프라인 스튜디오에서 선택한 태스크에 대한 설정값을 입력하기 위해서는 카카오 i 클라우드 콘솔 > DevOps Pipeline > Configuration에서 저장한 설정을 불러와 태스크 타입을 설정합니다. 환경 설정에 대한 자세한 설명은 DevOps Pipeline > 외부 서비스 관리를 참고하시기 바랍니다.

소스

소스 태스크 타입 모두 동일한 설정 항목을 입력합니다.

이미지 | 소스 태스크 설정 이미지 소스 태스크 설정

구분 설명
① 외부 서비스 DevOps Pipeline > 환경 설정 > 외부 서비스에서 미리 생성한 외부 서비스 이름을 선택
② 리비전 가져올 소스의 리비전(Revision) 정보를 입력

빌드

Maven

이미지 | Maven 태스크 설정 이미지 Maven 태스크 설정

구분 설명
① 명령어 Maven 명령어(Goal)를 입력
- 최소 1개의 명령어 필수 입력
- 명령어 입력창을 추가하거나 삭제 가능
② 컨텍스트 경로 pom.xml의 위치를 입력
③ 태스크 이미지 DevOps Pipeline > 환경 설정 > 태스크 이미지에 미리 생성한 태스크 이미지 이름을 선택

Gradle

이미지 | Gradle 태스크 설정 이미지 Gradle 태스크 설정

구분 설명
① 태스크 Gradle 태스크를 입력
- 최소 1개의 태스크 필수 입력
- 태스크 입력창을 추가하거나 삭제 가능
② 컨텍스트 경로 build.gradle의 위치를 입력
③ 태스크 이미지 DevOps Pipeline > 환경 설정 > 태스크 이미지에서 미리 생성한 태스크 이미지 이름을 선택

NPM

이미지 | NPM 태스크 설정 이미지 NPM 태스크 설정

구분 설명
① 실행 스크립트 실행 스크립트(Run Script)의 이름을 입력
② 컨텍스트 경로 package.json 파일의 위치를 입력
③ 태스크 이미지 DevOps Pipeline > 환경 설정 > 태스크 이미지에서 미리 생성한 태스크 이미지 이름을 선택

Docker

이미지 | Docker 태스크 설정 이미지 Docker 태스크 설정

구분 설명
① 외부 서비스 DevOps Pipeline > 환경 설정 > 외부 서비스에서 미리 생성한 태스크 이미지 이름을 선택
② 도커 파일 경로 실행할 도커 파일의 위치(Docker file Path)를 입력
③ 이미지 이름 실행할 도커 이미지 이름을 입력
④ 태그 실행할 도커 태그를 입력

배포

SFTP

이미지 | SFTP 태스크 설정 이미지 SFTP 태스크 설정

구분 설명
① 소스 경로 복사할 소스 파일 경로를 입력
② 타겟 서버 DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택
③ 타겟 경로 배포할 타겟 경로를 입력

FTP

이미지 | FTP 태스크 설정 이미지 FTP 태스크 설정

구분 설명
① 소스 경로 복사할 소스 파일 경로를 입력
② 타겟 서버 DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택
③ 타겟 경로 배포할 타겟 경로를 입력

SCP

이미지 | SCP 태스크 설정 이미지 SCP 태스크 설정

구분 설명
① 소스 파일 패턴 복사할 소스 파일 경로를 입력
② 타겟 서버 DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택
③ 타겟 경로 배포할 타겟 경로를 입력

Kubectl

이미지 | Kubectl 태스크 설정 이미지 Kubectl 태스크 설정

구분 설명
① 배포 yaml 경로 배포할 yaml 파일 경로를 입력
② 크리덴셜 DevOps Pipeline > 환경 설정 > 크리덴셜에 미리 설정한 크리덴셜을 선택
③ 네임스페이스 배포할 네임스페이스를 입력

Helm

이미지 | Helm 태스크 설정 이미지 Helm 태스크 설정

구분 설명
① 배포 차트 경로 배포할 차트 경로를 입력
② 크리덴셜 DevOps Pipeline > 환경 설정 > 크리덴셜에 미리 설정한 크리덴셜을 선택
③ 헬름 차트 이름 헬름 차트 이름을 입력
④ 네임스페이스 배포할 네임스페이스를 입력
⑤ 밸류 파일 재정의(override) 할 파일 경로를 입력

SSH

이미지 | SSH 태스크 설정 이미지 SSH 태스크 설정

구분 설명
① 스크립트 배포할 스크립트
② 타겟 서버 DevOps Pipeline > 환경 설정 > 타겟 서버에 미리 설정한 서버 이름을 선택

결재

이미지 | 결재 태스크 설정 이미지 결재 태스크 설정

구분 설명
① 결재 템플릿 불러오기 - [새로 만들기] 버튼: 결재선 템플릿 없이 직접 설정
- [결재선 템플릿 불러오기] 버튼: DevOps Pipeline > 환경 설정 > 결재선 템플릿에서 미리 설정한 템플릿을 선택
② 단계 결재를 요청할 순서
- 최소 1단계 필수 설정
- 결재 또는 합의 선택
- 결재자 또는 합의자 선택
  ㄴ 결재 또는 합의를 수행할 사용자 아이디(이메일) 입력
  ㄴ 해당 프로젝트 멤버여야 함
  ㄴ 결재자일 경우 최소 1명, 합의자일 경우 최소 2명 설정 필요

- [화살표] 아이콘을 클릭하여 결재 단계 순서 이동 가능
- [휴지통] 아이콘을 클릭하여 단계 또는 결재자/합의자 삭제
  ㄴ 최소 결재/합의 인원보다 적을 시 삭제 불가
③ [결재선 추가] 버튼 결재 단계를 추가 - 최대 5단계까지 추가 가능

업로드

Nexus

Nexus는 Pom 파일 생성할 때와 생성하지 않을 때 입력 양식이 다릅니다.

Pom 파일 생성 안 함(기본값)

이미지 | Nexus 태스크 설정 - Pom 파일 생성 안 함 이미지 Nexus 태스크 설정 - Pom 파일 생성 안 함

구분 설명
① 외부 서비스 선택 DevOps Pipeline > 환경 설정 > 외부 서비스에 미리 설정한 외부 서비스를 선택
② POM 파일 생성 POM 파일을 생성할지 여부를 선택
- 생성 안함(기본값): POM 파일을 생성 안 함
- 생성함: POM 파일을 생성할 경우 생성값을 설명
③ 리포지토리 리포지토리(Repository) 정보 입력
④ 업로드 파일 업로드 파일은 최소 1개 최대 2개까지 설정 가능
- 업로드 파일: 파일 상대 경로를 입력
- 확장자: jar, pom, zip 확장자 중 선택
- 구분 (선택): javadoc, sources, tests 등의 구분값을 입력

Pom 파일 생성함

이미지 | Nexus 태스크 설정 - Pom 파일 생성함 이미지 Nexus 태스크 설정 - Pom 파일 생성함

구분 설명
① 외부 서비스 DevOps Pipeline > 환경 설정 > 외부 서비스에 미리 설정한 외부 서비스를 선택
② POM 파일 생성 POM 파일을 생성할지 여부를 선택
- 생성 안함(기본값): POM 파일을 생성 안 함
- 생성함: POM 파일을 생성할 경우 생성값을 설명
③ 리포지토리 리포지토리 정보 입력
④ 그룹 ID 컴포넌트 그룹 ID 입력
⑤ 아티팩트 ID 컴포넌트 아티팩트 ID 입력
⑥ 패키징 (선택) 패키징할 경우 어떤 확장자로 패키징할지 입력하고, 패키징하지 않을 경우 입력은 선택 가능
⑦ 버전 컴포넌트 버전값
⑧ 업로드 파일 업로드 파일: 파일 상대 경로를 입력
확장자: jar, pom, zip 확장자 중 선택
구분 (선택): javadoc, sources, tests 등의 구분 값을 입력