1 - 툴 관리

툴이란 DevOps Console 에서 CI/CD 기능을 지원하기 위해 DevOps Console과 상호작용하는 애플리케이션들을 의미합니다.

현재 DevOps Console 에서 지원하는 툴 목록은 툴 분류를 참고 하세요.

툴 관리 시작하기

툴 관리를 시작하려면 다음 절차를 따르세요.

  1. 메인 페이지 오른쪽 위의 관리 아이콘을 클릭하세요. 테넌트 대시보드 페이지로 이동합니다.
  2. 왼쪽 메뉴에서 툴 & 템플릿 > 툴 메뉴를 클릭하세요. 페이지로 이동합니다.

툴 유형

각각의 툴은 툴 유형에 따라 사용하게 되는 영역이 달라집니다.

툴 유형설명
System Tool
  • DevOps Console 전역에 걸쳐 사용 가능합니다.
  • 시스템 관리자만 관리할 수 있습니다.
  • 테넌트 관리자는 자신의 테넌트에서 사용가능하게 되어있을 때 해제만 가능합니다.
Tenant Tool
  • 특정 테넌트에서 사용 가능합니다.
  • 여러 개의 테넌트와 클러스터를 맵핑하여 사용할 수 있습니다.
  • 툴 등록시 최초 등록한 테넌트의 테넌트 관리자만 관리할 수 있습니다.
  • 추가로 등록한 테넌트는 사용만 할 수 있습니다.
ProjectGroup Tool
  • 특정 프로젝트 그룹에서 사용 가능합니다.
  • 여러 개의 프로젝트 그룹을 맵핑하여 사용합니다.
  • 해당 프로젝트 그룹의 오너가 관리할 수 있습니다.
표. 툴 유형

툴 분류

현재 DevOps Console 에서 지원하는 툴 목록은 다음과 같습니다.

툴 분류
CICD PipelineJenkins
SCM RepositoryGitLab, GitHub, Git-based SCM
Image RegistryHarbor, Docker Hub, SCP Container Registry, Docker Image Registry
Code QualitySonarQube
Artifact RepositoryNexus, Object Storage (S3 compatible)
Helm Chart RepositoryHarbor
Project Management SoftwareJIRA
표. 툴 분류
참고
  • 릴리스 일정에 따라 지원 가능한 툴이 변경(추가/삭제)될 수 있습니다.
  • Samsung Cloud Platform의 Marketplace 서비스를 통해 CI/CD 툴 설치에 대한 기술 지원을 받을 수 있습니다. (에스코어에서 제공하며 지원 가능한 툴은 Marketplace 서비스에서 확인)

관리소속

테넌트/프로젝트그룹 유형으로 툴 추가시 선택한 테넌트 또는 프로젝트그룹을 나타냅니다.
다음 아이콘으로 관리 소속의 유형을 구분합니다.

  • 테넌트 관리 소속 관리 소속이 테넌트입니다.
  • 프로젝트그룹 관리 소속 관리 소속이 프로젝트그룹입니다.

툴 추가하기

툴을 추가하려면 다음 절차를 따르세요.

  1. 페이지에서 추가 버튼을 클릭하세요. 툴 추가 팝업창이 열립니다.

툴 지원 타입 선택

  1. 툴 추가 팝업창에서 툴의 지원 타입을 선택하세요.
  2. 선택을 완료하고 다음 버튼을 클릭하세요. 기본정보 입력 화면이 나타납니다.
    항목설명
    유형툴의 지원타입을 선택
    • 유형별 설명은 툴 유형을 참고하세요.
    테넌트/프로젝트그룹어떤 테넌트/프로젝트그룹에 맵핑할지 선택하세요.
    표. 툴 추가 시 지원 타입 선택 항목

기본 정보 입력

  1. 툴 추가 팝업창의 기본정보 입력 화면에서 툴 분류, 툴을 선택하세요. 선택한 툴에 따라 입력 화면이 달라집니다.
    • 툴 분류별 설명은 툴 분류를 참고하세요.
  2. 필요한 정보를 입력 한 후 Connection Test 버튼을 클릭하세요.
  3. 다음 버튼을 클릭하세요.

SCM Repository

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
URL for APIGithub.com API 경로를 입력하세요.
Org 생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 Github Organization 생성을 가능하게 할지 여부를 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. SCM Repository 입력 항목

CICD Pipeline

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
메일 서비스이메일 발송 기능을 사용할지 여부를 선택하세요.
구분해당 툴을 개발/운영 용도로 사용할지 선택하세요.
IPIP 목록을 입력
IP 대역IP 대역을 입력
IDP 사용여부IDP 사용여부를 선택하세요.
IDP 유형IDP 사용 시, IDP 유형(CMP IDP, 그 외 IDP)을 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. CICD Pipeline 입력 항목
주의

Jenkins의 시스템 설정 중 Built-In Node의 Number of executors 항목이 1 이상으로 설정되어 있는 경우, 보안상 문제가 발생할 수 있으므로 툴 추가 되지 않습니다.

Image Registry

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
URL for APIDocker Hub API 경로를 입력하세요.
이미지 저장소 URLDocker Registry 사용을 위한 URL을 입력하세요.
사설 SSL 인증서 사용사설 SSL의 사용/미사용 여부를 선택하세요.
시스템 공통 이미지 포함시스템 공통 이미지 포함 여부를 선택하세요.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증 타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. Image Registry 입력 항목

Code Quality

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 SonarQube 프로젝트 생성을 가능하게 할지 여부를 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
툴 버전SonarQube의 버전을 입력하세요.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증 타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. Code Quality 입력 항목

Artifact Repository

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 Nexus 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증 타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. Artifact Repository 입력 항목

Helm Chart Repository

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
사설 SSL 인증서 사용사설 SSL의 사용/미사용 여부를 선택하세요.
헬름차트 저장소 URL해당 툴의 저장소 URL을 입력
  • 중복된 URL은 등록할 수 없습니다.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증 타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. Helm Chart Repository 입력 항목

Project Management Software

항목설명
툴명사용자가 구분하기 위한 툴 이름을 입력하세요.
툴 분류툴 분류를 선택하세요.
툴을 선택하세요.
신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 JIRA 프로젝트 생성을 가능하게 할지 여부를 선택하세요.
URL툴에 접근하기위한 URL 주소를 입력
  • 중복된 URL은 등록할 수 없습니다.
IDP 사용여부IDP 사용여부를 선택하세요.
사용자 계정 인증 타입툴 사용자의 인증 타입을 선택하세요.
관리자 계정 인증 타입툴 관리자의 인증 타입을 선택하세요.
관리자 아이디툴 관리자의 아이디를 입력하세요.
관리자 비밀번호 / 토큰툴 관리자의 비밀번호 또는 토큰을 입력하세요.
표. Project Management Software 입력 항목

부가 정보 입력

  1. 툴 추가 팝업창의 기본정보 입력 화면에서 다음 버튼을 클릭하면 부가정보 입력 화면이 나타납니다.
  2. 각 항목을 선택하고 완료 버튼을 클릭하세요.
  3. 확인 팝업창에서 확인 버튼을 클릭해서 툴 추가를 완료하세요.
    항목설명
    사용여부해당 테넌트/프로젝트그룹에서 툴을 사용할지 여부를 선택하세요.
    신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택
    • 툴 분류가 SCM Repository인 경우에만 노출됩니다.
    표. 부가 정보 입력 항목

툴 상세

툴의 상세정보 관리를 시작하려면 다음 절차를 따르세요.

  1. 페이지에서 상세정보 관리를 원하는 툴을 클릭하세요. 툴 상세 페이지로 이동합니다.

툴 기본정보 관리하기

툴의 기본정보를 확인하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 기본정보 탭을 클릭하세요.

툴의 기본정보를 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 기본정보 탭을 클릭하세요.
  2. 수정 버튼을 클릭하세요.
  3. 필요한 정보를 수정한 후 저장 버튼을 클릭하세요.

글로벌 툴 관리하기

참고
툴이 Jenkins인 경우만, 글로벌 툴 탭이 노출됩니다.

Jenkins 웹 화면의 Jenkins 관리 > Global Tool Configuration 메뉴를 DevOps Console에서 조작할 수 있는 기능입니다.
DevOps Console에서 Jenkins로 단방향 등록만 지원합니다. (즉, 사용자가 DevOps Console에서 수정한 사항이 Jenkins의 정보를 덮어 쓰게 됩니다.)
사용자는 Jenkins에서 사용할 수 있는 툴 목록을 관리할 수 있으며, 글로벌 툴에 등록된 툴은 스테이지 구성 시 Tools에서 사용됩니다.

클로벌 툴을 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 클로벌 툴 탭을 클릭하세요.

글로벌 툴 추가하기

클로벌 툴을 추가하려면 다음 절차를 따르세요.

  1. 클로벌 툴 탭에서 추가하려는 항목의 편집 아이콘을 클릭하세요. 글로벌 툴 관리 팝업창이 열립니다.
    • 필수 툴은 DevOps Console에서 자동으로 설정하게 됩니다.
    • 필수 툴은 삭제할 수 없으며 홈 경로만 수정할 수 있습니다.
  2. 추가 버튼을 클릭하세요. 목록의 아래쪽에 신규 행이 추가됩니다.
  3. 추가된 신규 행에 정보를 입력하고 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    툴 종류툴 종류는 자동으로 설정됩니다.
    이름툴 이름을 입력하세요.
    홈 경로툴이 설치된 경로를 입력하세요.
    표. 글로벌 툴 추가 입력 항목

글로벌 툴 수정하기

클로벌 툴을 수정하려면 다음 절차를 따르세요.

  1. 클로벌 툴 탭에서 추가하려는 항목의 편집 아이콘을 클릭하세요. 글로벌 툴 관리 팝업창이 열립니다.
  2. 내용 수정 후 저장 버튼을 클릭하세요.
  3. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

글로벌 툴 삭제하기

글로벌 툴을 삭제하려면 다음 절차를 따르세요.

  1. 클로벌 툴 탭에서 추가하려는 항목의 편집 아이콘을 클릭하세요. 글로벌 툴 관리 팝업창이 열립니다.
  2. 목록 삭제 후 저장 버튼을 클릭하세요.
  3. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

에이전트(kubernetes) 관리하기

참고
툴이 Jenkins인 경우만, 에이전트(kubernetes) 탭이 노출됩니다.

사용자는 Jenkins에서 빌드 시에 사용되는 에이전트(슬레이브)를 관리할 수 있습니다.

Jenkins 웹 화면의 1) Jenkins 관리 > 시스템 설정 > Cloud > Pod Templates 또는 2) Jenkins 관리 > 노드 관리 > Configure Clouds > Pod Templates 메뉴를 DevOps Console에서 조작할 수 있는 기능입니다.

DevOps Console에서 Jenkins로 단방향 등록만 지원합니다. (즉, 사용자가 DevOps Console에서 수정한 사항이 Jenkins의 정보를 덮어 쓰게 됩니다.)

에이전트(Kubernetes)를 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. Pod Template 관리 목록의 정보 아이콘을 클릭하세요. Pod Template 사용 안내 팝업창이 열립니다.

컨테이너 리소스 타입 추가하기

안내

사용자가 컨테이너 리소스 타입을 수정하면 Pod Template 에 영향을 줍니다.

  • 컨테이너 리소스 타입을 미사용사용 으로 변경하면, Pod Template 숫자는 (컨테이너 리소스 타입 숫자 X Pod Template 숫자) 만큼 늘어나게 됩니다.
  • 컨테이너 리소스 타입을 사용미사용 으로 변경하면, 늘어났던 Pod Template은 다시 원래의 숫자로 줄어들게 됩니다.
  • 늘어나는 Pod Template 의 에이전트명, Label 등은 중복을 피하기 위해 사용자가 컨테이너 리소스 타입 등록 시 입력한 Resource Type 항목을 조합하여 자동 생성됩니다.

컨테이너 리소스 타입을 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. 컨테이너 리소스 타입 관리편집 아이콘을 클릭하세요. 컨테이너 리소스 타입 관리 팝업창이 열립니다.
  3. 추가 버튼을 클릭해서 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    사용 여부사용여부를 설정하세요.
    • 사용 여부를 변경하려면, 해당 Jenkins툴을 사용하여 구성한 빌드 파이프라인이 존재하지 않아야 합니다.
    Resource Type리소스 명을 입력하세요.
    CPU/Memory (Request)Kubernetes Pod Agent가 구성될 때, 사용될 리소스의 요청 값을 입력하세요.
    CPU/Memory (Limit)Kubernetes Pod Agent가 구성될 때, 사용될 리소스의 제한 값을 입력하세요.
    표. 컨테이너 리소스 타입 추가 입력 항목

컨테이너 리소스 타입 수정하기

컨테이너 리소스 타입을 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. 컨테이너 리소스 타입 관리편집 아이콘을 클릭하세요. 컨테이너 리소스 타입 관리 팝업창이 열립니다.
  3. 내용 수정 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

컨테이너 리소스 타입 삭제하기

컨테이너 리소스 타입을 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. 컨테이너 리소스 타입 관리편집 아이콘을 클릭하세요. 컨테이너 리소스 타입 관리 팝업창이 열립니다.
  3. 내용 삭제 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

Pod Template 추가하기

Pod Template을 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. Pod Template 관리 목록의 추가 버튼을 클릭하세요. 에이전트(Kubernetes) 추가 화면이 나타납니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    타겟 KubernetesPod Template을 추가할 타겟 Kubernetes를 선택
    • 실제 Jenkins에 등록된 Kubernetes 목록을 보여줍니다.
    에이전트명Pod Template의 이름을 입력하세요.
    LabelJenkins Pipeline Script에서 해당 에이전트를 호출하기 위한 Label 값을 입력하세요.
    상속 Pod Template설정 값(환경 변수, Volume…)을 상속받을 Pod Template을 선택
    • 실제 Jenkins에 등록된 Pod Template 목록을 보여줍니다.
    컨테이너Jenkins의 Container Template 항목에 매핑되는 정보로, 이름/도커 이미지/작업 경로/명령어/인자 값을 입력
    • 필수 컨테이너 정보는 삭제할 수 없으며, 이름을 변경할 수 없습니다.
    툴 경로Jenkins의 Tool Locations 항목에 매핑되는 정보로, 이름/홈 경로를 입력
    • 글로벌 툴 목록에 추가된 툴만 선택할 수 있습니다.
    지원 스테이지지원 스테이지 구성을 선택
    • DevOps Console의 빌드 파이프라인 템플릿 구성에 활용되는 정보입니다.
    • 필수 스테이지 정보는 선택 해제할 수 없습니다.
    표. Pod Template 추가하기 입력 항목
참고

만약 사용자가 지원 스테이지 항목에서 Docker Build 를 체크하지 않은 경우,

  • Docker Build가 반드시 필요한 Kubernetes, VM(Docker) 유형의 App.템플릿을 통해 프로젝트로 구성할 때 해당 Jenkins를 사용할 수 없습니다.
  • 빌드 파이프라인 추가하기 를 통해 빌드 파이프라인을 구성할 때, Docker Build 스테이지를 추가할 수 없습니다.

Pod Template 상세보기

Pod Template의 상세정보를 조회하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. Pod Template 관리 목록에서 조회할 에이전트의 상세보기 버튼을 클릭하세요. 에이전트(Kubernetes) 상세 화면이 나타납니다.

Pod Template 수정하기

Pod Template을 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. Pod Template 관리 목록에서 조회할 에이전트의 상세보기 버튼을 클릭하세요. 에이전트(Kubernetes) 상세 화면이 나타납니다.
  3. 수정 버튼을 클릭하세요.
  4. 내용 수정 후 저장 버튼을 클릭하세요.
  5. 확인 팝업창에서 확인 버튼을 클릭해서 수정을 완료하세요.

Pod Template 삭제하기

Pod Template을 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(Kubernetes) 탭을 클릭하세요.
  2. Pod Template 관리 목록에서 조회할 에이전트의 상세보기 버튼을 클릭하세요. 에이전트(Kubernetes) 상세 화면이 나타납니다.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 삭제를 완료하세요.

에이전트(VM) 관리하기

참고
툴이 Jenkins인 경우만, 에이전트(VM) 탭이 노출됩니다.

Jenkins에서 사용할 수 있는 Node 목록을 관리할 수 있습니다.
JenkinsJenkins 관리 > 노드 관리 메뉴를 DevOps Console에서 조작할 수 있는 기능입니다.
DevOps Console에서 Jenkins로 단방향 등록만 지원합니다. (즉, 사용자가 DevOps Console에서 수정한 사항이 Jenkins의 정보를 덮어 쓰게 됩니다.)

에이전트(VM)을 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 노드 관리 목록의 정보 아이콘을 클릭하세요. Node 사용 안내 팝업창이 열립니다.

에이전트 연결 관리하기

실제 Jenkins와 에이전트(VM)을 연결할 터널링 포트를 등록합니다. 터널링 port는 Jenkins마다 다를 수 있습니다.

에이전트 연결을 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 에이전트 연결 관리편집 아이콘을 클릭하세요. 에이전트 연결 관리 팝업창이 열립니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.

에이전트(VM) 추가하기

에이전트(VM)을 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 에이전트 연결 관리추가 버튼을 클릭하세요. 에이전트(VM) 추가 화면이 나타납니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 삭제를 완료하세요.
    항목설명
    타겟 OSVM의 OS 정보를 입력하세요.
    에이전트명VM의 이름을 입력하세요.
    원격 루트 디렉토리디렉토리 경로를 입력하세요.
    LabelJenkins Pipeline Script에서 해당 에이전트를 호출하기 위한 Label 값을 입력하세요.
    툴 경로Jenkins의 Tool Locations 항목에 매핑되는 정보로, 이름/홈 경로를 입력
    • 글로벌 툴 목록에 추가된 툴만 선택할 수 있습니다.
    지원 스테이지지원 스테이지 구성을 선택
    • DevOps Console의 빌드 파이프라인 템플릿 구성에 활용되는 정보입니다.
    • 필수 스테이지 정보는 선택 해제할 수 없습니다.
    표. 에이전트(VM) 추가하기 입력 항목
참고

만약 사용자가 지원 스테이지 항목에서 Docker Build 를 체크하지 않은 경우,

  • Docker Build가 반드시 필요한 Kubernetes, VM(Docker) 유형의 App.템플릿을 통해 프로젝트로 구성할때 해당 Jenkins를 사용할 수 없습니다.
  • 빌드 파이프라인 추가하기 를 통해, 빌드 파이프라인을 구성할 때, Docker Build 스테이지를 추가할 수 없습니다.

에이전트(VM) 상세보기

에이전트(VM)의 상세정보를 조회하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 노드 관리 목록에서 에이전트를 클릭하세요. 에이전트(VM) 상세 화면이 나타납니다.
  3. Jenkins - 에이전트 연결 정보정보 아이콘을 클릭하세요.
  4. 에이전트 연결 안내 팝업창이 열립니다.

에이전트(VM) 연동하기

참고
에이전트 연동을 위해서는 VM 서버에 Java가 설치되어 있어야 합니다.

에이전트(VM)을 등록 후 사용하기 위해서는 실제 VM 서버와 연결을 진행해야 합니다.

에이전트(VM)을 연동하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 노드 관리 목록에서 연동하려는 에이전트를 클릭하세요. 에이전트(VM) 상세 화면이 나타납니다.
  3. jnlpUrlsecret을 참고하세요.
  4. Jenkins - 에이전트 연결 정보정보 아이콘을 클릭하세요. 에이전트 연결 안내 팝업창이 열립니다.
  5. 에이전트 파일 다운로드 버튼을 클릭하여 agent.jar 파일을 다운로드 받으세요.
    • agent.jar 버전에 따라 실행에 문제가 있을 수도 있습니다.
    • 자신의 Jenkins에서도 직접 다운로드 받을 수 있습니다. ({JENKINS_URL}/jnlpJars/agent.jar)
  6. 배포할 VM 서버에 접속하여 디렉토리를 생성하세요.
  7. 생성된 디렉토리에 다운로드 받은 agent.jar 파일을 복사하세요.
  8. 생성된 디렉토리 경로에서 아래 명령어를 실행하세요.
배경색 변경
java -jar agent.jar -jnlpUrl {jnlpUrl} -secret {secret}
java -jar agent.jar -jnlpUrl {jnlpUrl} -secret {secret}
에이전트(VM) 실행 명령어

에이전트(VM) 수정하기

에이전트(VM)을 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 노드 관리 목록에서 수정하려는 에이전트를 클릭하세요. 에이전트(VM) 상세 화면이 나타납니다.
  3. 수정 버튼을 클릭하세요.
  4. 내용 수정 후 저장 버튼을 클릭하세요.
  5. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

에이전트(VM) 삭제하기

에이전트(VM)을 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 에이전트(VM) 탭을 클릭하세요.
  2. 노드 관리 목록에서 삭제하려는 에이전트를 클릭하세요. 에이전트(VM) 상세 화면이 나타납니다.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

글로벌 라이브러리 관리하기

빌드 파이프라인에서 사용 가능한 library 목록을 관리할 수 있습니다. JenkinsJenkins 관리 → 시스템 설정 → Global Pipeline Libraries 메뉴를 DevOps Console에서 조작할 수 있는 기능입니다.
라이브러리와 연결된 Credential 정보는 Jenkins 관리 > Manage Credentials 메뉴에서 확인 가능합니다.
DevOps Console에서 Jenkins로 단방향 등록만 지원합니다. (즉, 사용자가 DevOps Console에서 수정한 사항이 Jenkins의 정보를 덮어 쓰게 됩니다.)

에이전트(VM)을 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 글로벌 라이브러리 탭을 클릭하세요.

글로벌 라이브러리 추가하기

주의
필수 라이브러리 여부Y 인 경우 수정/삭제할 수 없습니다.

글로벌 라이브러리를 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 글로벌 라이브러리 탭을 클릭하세요.
  2. 추가 버튼을 클릭하세요. 글로벌 라이브러리 추가 화면이 나타납니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    라이브러리명라이브러리의 이름을 입력합니다.
    유형SCM으로 고정되어 변경 불가합니다.
    라이브러리 URL해당 라이브러리가 존재하는 Git 저장소 주소를 입력합니다.
    디폴트 버전해당 라이브러리가 존재하는 Git 저장소의 브랜치 명 또는 태그를 입력합니다.
    아이디해당 라이브러리 pull을 위한 아이디를 입력합니다.
    비밀번호해당 라이브러리 pull을 위한 비밀번호를 입력합니다.
    표. 글로벌 라이브러리 추가 입력 항목

글로벌 라이브러리 상세보기

글로벌 라이브러리의 상세정보를 조회하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 글로벌 라이브러리 탭을 클릭하세요.
  2. 글로벌 라이브러리 목록에서 상세보기를 원하는 항목을 클릭하세요. 글로벌 라이브러리 상세 화면이 나타납니다.
참고

유형SCM인 경우 SCM 관련 정보가 노출됩니다.

  • 필수 라이브러리 여부, 라이브러리명, 유형, 라이브러리 URL, 디폴트 버전, ID

글로벌 라이브러리 수정하기

글로벌 라이브러리를 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 글로벌 라이브러리 탭을 클릭하세요.
  2. 글로벌 라이브러리 목록에서 상세보기를 원하는 항목을 클릭하세요. 글로벌 라이브러리 상세 화면이 나타납니다.
  3. 수정 버튼을 클릭하세요.
  4. 내용 수정 후 저장 버튼을 클릭하세요.
  5. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

글로벌 라이브러리 삭제하기

글로벌 라이브러리를 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 글로벌 라이브러리 탭을 클릭하세요.
  2. 글로벌 라이브러리 목록에서 삭제를 원하는 항목을 클릭하세요. 글로벌 라이브러리 상세 화면이 나타납니다.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

지원 테넌트/프로젝트그룹 관리하기

참고

툴 유형에 따라 탭 이름이 다르게 노출됩니다.

  • System Tool/Tenant Tool: 지원 테넌트
  • ProjectGroup Tool: 지원 정보

사용자는 해당 툴을 사용할 테넌트 또는 프로젝트그룹을 관리할 수 있습니다.

지원 테넌트 또는 프로젝트그룹을 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
참고
관리 소속인 테넌트/프로로젝트그룹에는 Primary 아이콘이 보여집니다.

지원 테넌트/프로젝트그룹 추가하기

지원 테넌트 또는 프로젝트그룹을 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
  2. 추가 버튼을 클릭하세요. 테넌트/프로젝트그룹 추가 팝업창이 열립니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    테넌트/프로젝트그룹툴을 사용할 테넌트/프로젝트그룹을 선택하세요.
    사용여부해당 테넌트/프로젝트그룹에서 툴을 사용할지 여부를 선택하세요.
    신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
    해당 설정은 아래의 툴 분류에서만 설정 가능합니다.
    • SCM Repository
    • Image Registry
    • Code Quality
    • Artifact Repository
    • Helm Chart Repository
    • Test Management
    • Project Management Software
    표. 지원 테넌트/프로젝트그룹 추가 입력 항목

지원 테넌트/프로젝트그룹 수정하기

지원 테넌트/프로젝트그룹을 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
  2. 지원 테넌트 또는 지원 정보 목록에서 사용여부신규생성 가능 여부를 선택하여 수정하세요.

관리 테넌트/프로젝트그룹 이관하기

관리 테넌트/프로젝트그룹을 이관하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
  2. 관리 테넌트 이관 또는 관리 프로젝트그룹 이관 버튼을 클릭하세요. 관리 테넌트 이관 또는 관리 프로젝트그룹 이관 팝업창이 열립니다.
  3. 이관 대상 테넌트 또는 프로젝트그룹을 선택 후 저장 버튼을 클릭하세요.

지원 테넌트/프로젝트그룹 삭제하기

관리 테넌트/프로젝트그룹을 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
  2. 삭제하려는 테넌트/프로젝트그룹의 체크박스를 선택하세요.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
참고
Primary로 지정된 테넌트/프로젝트그룹은 삭제할 수 없습니다.

지원 K8S 클러스터 관리하기

사용자는 해당 툴이 사용될 K8S 클러스터를 관리할 수 있습니다.

지원 K8S 클러스터를 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 K8S 클러스터 탭을 클릭하세요.

지원 K8S 클러스터 추가하기

지원 K8S 클러스터를 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 K8S 클러스터 탭을 클릭하세요.
  2. 지원 K8S 클러스터 페이지에서 추가 버튼을 클릭하세요. K8S 클러스터 추가 팝업창이 열립니다.
  3. 내용 입력 후 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.
    항목설명
    K8S 클러스터툴을 사용할 K8S 클러스터를 선택하세요.
    사용여부해당 테넌트/프로젝트그룹에서 툴을 사용할지 여부를 선택하세요.
    신규생성 가능 여부해당 테넌트/프로젝트그룹에서 신규 리파지토리 생성을 가능하게 할지 여부를 선택하세요.
    해당 설정은 아래의 툴 분류에서만 설정 가능합니다.
    • SCM Repository
    • Image Registry
    • Code Quality
    • Artifact Repository
    • Helm Chart Repository
    • Test Management
    • Project Management Software
    표. 지원 K8S 클러스터 추가 입력 항목

지원 K8S 클러스터 수정하기

지원 K8S 클러스터를 수정하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 K8S 클러스터 탭을 클릭하세요.
  2. 지원 K8S 클러스터 목록에서 사용여부신규생성 가능 여부를 선택하여 수정하세요.

지원 K8S 클러스터 삭제하기

지원 K8S 클러스터를 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 지원 K8S 클러스터 탭을 클릭하세요.
  2. 지원 K8S 클러스터 목록에서 삭제할 K8S 클러스터의 체크박스를 선택하세요.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

툴 운영자 관리하기

툴 운영자를 관리하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 툴 운영자 탭을 클릭하세요.

툴 운영자 추가하기

툴 운영자를 추가하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 툴 운영자 탭을 클릭하세요.
  2. 추가 버튼을 클릭하세요. 툴 운영자 추가 팝업창이 열립니다.
  3. 운영자를 선택하고 저장 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

툴 운영자 삭제하기

툴 운영자를 삭제하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 툴 운영자 탭을 클릭하세요.
  2. 툴 운영자 목록에서 삭제할 항목의 체크박스를 선택하세요.
  3. 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

Jenkins 권장 플러그인 관리하기

참고
툴이 Jenkins인 경우만, 플러그인 탭이 노출됩니다.

설치된 Jenkins의 버전권장 플러그인 설치 여부 및 버전 정보를 확인할 수 있으며, 권장 플러그인에 대하여 업데이트 및 설치를 할 수 있습니다.

  • 툴 버전: Jenkins 버전 정보
  • 권장 플러그인: 권장 플러그인 설치 여부 및 버전 정보

툴 버전 및 권장 플러그인 정보 확인하기

툴 버전 및 권장 플러그인 정보를 확인하려면 다음 절차를 따르세요.

  1. 툴 상세 페이지에서 기본정보 탭을 클릭하세요.
  2. 설치 및 업데이트가 필요한 권장플러그인 정보가 있다면 안내 팝업이 나타나고, 확인을 누르면 플러그인 탭으로 이동합니다.
  3. 툴 상세 페이지에서 플러그인 탭을 클릭하세요.
  4. 툴 버전, 권장 플러그인의 항목을 확인하세요.

권장 플러그인 설치하기

권장 플러그인을 설치하려면 다음 절차를 따르세요.

  1. 권장 플러그인 영역에서 설치 하고자 하는 플러그인의 설치 버튼을 선택하세요.
  2. 권장 플러그인 설치 팝업에서 확인 버튼을 선택하세요.
  3. 설치 요청이 완료되었다는 팝업이 나타나며, 실제 설치내용은 팝업의 링크를 통해 확인 가능합니다.

권장 플러그인 업데이트 하기

권장 플러그인을 업데이트 하려면 다음 절차를 따르세요.

  1. 권장 플러그인 영역에서 업데이트 하고자 하는 플러그인의 업데이트 버튼을 선택하세요.
  2. 권장 플러그인 업데이트 팝업에서 확인 버튼을 선택하세요.
  3. 설치 요청이 완료되었다는 팝업이 나타나며, 실제 설치내용은 팝업의 링크를 통해 확인 가능합니다.
  4. 업데이트 적용을 위해 Jenkins를 반드시 재기동 해주셔야 합니다.

툴 삭제하기

참고
프로젝트에서 사용 중인 툴은 삭제할 수 없습니다.

툴을 삭제하려면 다음 절차를 따르세요.

  1. 페이지에서 삭제를 원하는 툴을 클릭하세요. 툴 상세 페이지로 이동합니다.
  2. 삭제 버튼을 클릭하세요.
  3. 확인 팝업창에서 확인 버튼을 클릭해서 완료하세요.

2 - App.템플릿

App. 템플릿이란 사용자의 빠른 개발환경 구성을 위해 제공되는 기능입니다.

App. 템플릿은 샘플 소스코드, Dockerfile, 헬름차트 등으로 구성되어 있으며 사용자는 프로젝트 생성 시에 App. 템플릿을 이용하여 개발환경을 빠르게 구성할 수 있습니다.

Node.js, Python, Spring Boot 등 다양한 프레임워크의 App. 템플릿을 제공하고 있고, 사용자가 직접 App. 템플릿을 만들어 등록할 수도 있습니다.

App. 템플릿 유형설명
System Template
  • DevOps Console 전역에 걸쳐 사용 가능한 툴입니다.
  • 시스템 관리자만 관리할 수 있습니다.
  • 테넌트 관리자는 자신의 테넌트에서 사용가능하게 되어있을때 해제만 가능합니다.
Tenant Template
  • 특정 테넌트에서 사용 가능한 템플릿입니다.
  • 여러 개의 테넌트와 매핑되어 사용될 수 있습니다.
  • 해당 테넌트의 관리자가 관리할 수 있습니다.
ProjectGroup Template
  • 특정 프로젝트그룹에서만 사용 가능한 템플릿입니다.
  • 단 한개의 프로젝트그룹과 매핑되어 사용될 수 있습니다.
  • 해당 프로젝트그룹의 오너가 관리할 수 있습니다.
표. App. 템플릿 유형

App. 템플릿 시작하기

App. 템플릿 관리를 시작하려면 다음 절차를 따르세요.

  1. 메인 페이지 오른쪽 위의 관리 아이콘을 클릭하세요. 테넌트 대시보드 페이지로 이동합니다.
  2. 왼쪽 메뉴에서 툴 & 템플릿 > App. 템플릿 메뉴를 클릭하세요. App. 템플릿 페이지로 이동합니다.

App. 템플릿 추가하기

사용자는 자신만의 App. 템플릿을 추가할 수 있습니다.

소스코드

App. 템플릿에서 사용되어 샘플 프로젝트를 구성하게 될 소스코드입니다.

App. 템플릿을 등록할 테넌트 또는 프로젝트그룹에 사용 가능한 SCM Repository 가 있어야 합니다. SCM Repository 툴 등록 방법은 툴 추가하기를 참고하세요.

SCM Repository 에 소스코드를 미리 등록하세요. App. 템플릿 등록 시, 해당 SCM Repository 가 나타나며 미리 등록한 소스코드 경로를 입력하세요.

Dockerfile

참고
Dockerfile 파일을 소스코드 내부에 등록하지 않고 관리할 수 있습니다. 관련 내용은 도커파일 템플릿 관리하기를 참고하세요.
Dockerfile에 대한 설명 및 작성 방법은 공식사이트를 참고하세요.

Kubernetes, VM(Docker) 형태의 배포 타겟 프로젝트를 지원하는 App. 템플릿을 등록하려면, 소스코드 등록 시 소스코드 내부에 Dockerfile 파일을 추가하거나 도커파일 템플릿 관리하기를 통해 Dockerfile 파일을 등록해야 합니다.

Dockerfile 작성 시, FROM 절은 FROM ${BASE_IMAGE} 로 고정해서 등록해야 합니다.

등록된 ${BASE_IMAGE} 값은 Velocity Template Engine을 통해 Kubernetes 배포 타겟인 경우 헬름차트의 image.repository 값으로 치환되고, VM(Docker) 배포 타겟인 경우 지원 이미지 관리하기에서 등록한 이미지 경로로 치환됩니다.

Dockerfile 파일 샘플

배경색 변경
FROM ${BASE_IMAGE}

COPY *.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
FROM ${BASE_IMAGE}

COPY *.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Dockerfile 파일 샘플

App. 템플릿 등록하기

App. 템플릿을 등록하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 추가 버튼을 클릭하세요. App. 템플릿 추가 페이지로 이동합니다.
  2. App. 템플릿 추가 페이지에서 템플릿 지원 타입을 선택 후 시작 버튼을 클릭하세요.
  3. 필요한 정보를 입력한 후 완료 버튼을 클릭하세요.
    항목설명
    유형템플릿의 유형을 선택하세요.
    테넌트/프로젝트그룹맵핑할 테넌트/프로젝트그룹을 선택하세요.
    표. App. 템플릿 추가 - 템플릿 지원 타입 선택 항목
    항목설명
    배포 타겟템플릿이 지원하는 배포 타겟을 선택
    • Kubernetes: 배포 타겟이 헬름차트를 이용한 클러스터인 경우
    • VM(Artifact): 배포 타겟이 Artifact 파일을 이용한 VM서버인 경우
    • VM(Docker): 배포 타겟이 도커 이미지를 이용한 VM서버인 경우
    • N/A: 배포 타겟이 없는 경우 (ex. Android)
    템플릿명App. 템플릿의 이름을 입력하세요.
    애플리케이션 분류템플릿에 포함된 애플리케이션의 분류를 선택
    • 템플릿을 분류하는데 사용됩니다.
    언어템플릿에 포함된 소스코드의 개발언어를 선택하세요.
    소스코드템플릿에 소스코드가 포함되어있는지 여부를 선택하세요.
    소스코드 저장소 유형템플릿에 포함할 소스코드가 저장된 위치를 선택하세요. SCM 또는 압축파일(ZIP) 선택이 가능합니다.
    리파지토리 URL템플릿 소스코드가 위치한 리파지토리 URL을 입력
    • 해당 테넌트, 프로젝트그룹에서 사용 가능한 SCM Repository 툴 목록이 나타납니다.
    리파지토리 브랜치템플릿 소스코드가 위치한 리파지토리의 브랜치를 입력하세요.
    개별 인증정보리파지토리에 접근하기위한 인증정보를 입력
    • 미사용을 선택할 경우, 해당 툴 등록 시 사용된 인증정보를 사용합니다.
    도커파일 경로리파지토리 내의 도커파일 파일 경로를 입력
    • 도커 이미지 빌드 시 사용합니다.
    코드품질코드품질 사용 여부를 선택하세요.
    설명App. 템플릿에 대한 설명을 작성하세요.
    문서 URL템플릿을 설명하는 문서의 URL을 입력
    • 프로젝트 생성 시 템플릿 선택 페이지에서 링크로 나타나게 됩니다.
    템플릿 아이콘템플릿에서 사용할 아이콘을 선택하세요.
    빌드 결과물 경로빌드 결과물 경로 및 파일명을 지정하세요.
    도커파일 유형Dockerfile 유형을 선택
    • 소소코드 내 Dockerfile 파일을 사용할지, 도커파일 템플릿 관리하기에 등록한 정보를 사용할지 선택할 수 있습니다.
    • GUI 템플릿을 선택할 경우, 도커파일 템플릿 탭이 활성화 됩니다.
    표. App. 템플릿 추가 - 기본정보 입력 항목
참고

App. 템플릿의 배포 타겟이 Kubernetes 인 경우만, 지원 헬름차트 단계가 추가됩니다.

  • 해당 App. 템플릿을 사용하여 배포할 때 사용가능한 헬름차트를 선택합니다.
  • 체크박스를 선택한 후 가운데 추가, 삭제 버튼을 통해 헬름차트 목록을 선택할 수 있습니다.
안내
App. 템플릿은 등록 후 바로 사용이 불가능하고 추가 설정을 진행해야 합니다.
파이프라인 템플릿 추가하기를 진행 후 지원 테넌트 정보 수정하기를 참고하여 사용여부를 수정해주세요.

App. 템플릿 기본정보 수정하기

App. 템플릿 기본정보를 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 기본정보 탭을 클릭하세요.
  3. 기본정보 탭에서 수정 버튼을 클릭하세요.
  4. 필요한 정보를 수정한 후 저장 버튼를 클릭하세요.
참고
파이프라인 템플릿이 등록되지 않은 경우, 알림 팝업창이 활성화됩니다.

파이프라인 템플릿 관리하기

사용자가 App. 템플릿을 이용하여 프로젝트 생성 시, 자동 구성되는 빌드 파이프라인 설정입니다.

안내
파이프라인 템플릿 미등록 시, App. 템플릿을 사용할 수 없습니다.

파이프라인 템플릿 추가하기

파이프라인 템플릿을 추가하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 추가하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 파이프라인 템플릿 탭을 클릭하세요.
  3. 파이프라인 템플릿 탭에서 추가 버튼을 클릭하세요. 파이프라인 템플릿 추가 페이지로 이동합니다.
  4. 파이프라인 템플릿 추가 페이지에서 필요한 정보를 입력한 후 저장 버튼을 클릭하세요.
    항목설명
    템플릿 이름파이프라인 템플릿의 이름을 입력하세요.
    기본 템플릿
    (Base Template)
    • 기본 템플릿은 프로젝트 생성시, 파이프라인 구성을 위해 사용되는 템플릿입니다.
    • 기본 템플릿이 등록되어 있지 않다면 자동으로 ON 으로 설정되며, 해당 설정을 변경할 수는 없습니다.
    지원 Jenkins해당 파이프라인 템플릿을 지원할 Jenkins를 선택
    • 해당 테넌트, 프로젝트그룹에서 사용가능한 CICD pipeline 툴 목록이 나타납니다.
    • 스테이지 구성시, Tools 영역에 필요한 정보를 참고하기위해 필요합니다.
    환경변수환경변수 정보를 입력
    스테이지각 스테이지 정보를 입력
    표. 파이프라인 템플릿 추가 입력 항목
참고
Jenkins 환경변수 설정에 대한 설명 및 작성 방법은 공식사이트를 참고하세요.

파이프라인 템플릿 수정하기

파이프라인 템플릿을 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 파이프라인 템플릿 탭을 클릭하세요.
  3. 파이프라인 템플릿 탭에서 수정하려고 하는 항목을 클릭하세요. 파이프라인 템플릿 상세 페이지로 이동합니다.
  4. 파이프라인 템플릿 상세 페이지에서 수정 버튼을 클릭하세요. 파이프라인 템플릿 수정 페이지로 이동합니다.
  5. 파이프라인 템플릿 수정 페이지에서 정보 수정 후 저장 버튼을 클릭하세요.

파이프라인 템플릿 삭제하기

안내
기본(Base) 표시가 된 파이프라인 템플릿은 삭제할 수 없습니다.

파이프라인 템플릿을 삭제하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 삭제하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 파이프라인 템플릿 탭을 클릭하세요.
  3. 파이프라인 템플릿 탭에서 삭제하려고 하는 항목을 클릭하세요. 파이프라인 템플릿 상세 페이지로 이동합니다.
  4. 파이프라인 템플릿 상세 페이지에서 삭제 버튼을 클릭하세요.
  5. 확인 팝업창에서 확인 버튼을 클릭하세요.

도커파일 템플릿 관리하기

App. 템플릿의 기본정보 내용 중 도커파일 유형 항목이 GUI 템플릿인 경우만 해당 탭이 나타납니다.

도커파일 템플릿 수정하기

도커파일 템플릿을 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 도커파일 템플릿 탭을 클릭하세요.
  3. 도커파일 템플릿 탭에서 수정 또는 생성 버튼을 클릭하세요.
  4. 도커파일 템플릿 탭에서 내용 입력 후 저장 버튼을 클릭하세요.
    항목설명
    인증정보 설정Multi-stage 빌드의 FROM 절에 사용될 이미지의 인증정보를 등록하세요.
    추가Multi-stage 빌드의 FROM 절에 사용될 이미지를 추가하세요.
    Multi-stage Dockerfile인증정보 및 추가 항목에서 등록한 정보를 바탕으로 Multi-stage 를 구성하세요.
    Dockerfile기본 Dockerfile 을 구성하세요.
    표. 도커파일 템플릿 수정 입력 항목
안내

도커파일 템플릿을 등록하지 않고 Dockerfile를 통해 소스코드 내부에서 관리할 수도 있습니다.

  • 소스코드 내부에 포함된 Dockerfile 파일을 사용할 경우, 반드시 App. 템플릿의 기본정보 내용 중 도커파일 유형 항목이 코드 저장소 내 파일로 설정되어 있어야 합니다.

FROM 절은 지원 이미지 관리하기에서 등록한 이미지 경로로 자동 설정됩니다.

참고
Dockerfile 파일에 대한 설명 및 작성 방법은 공식사이트를 참고하세요.

지원 테넌트/프로젝트그룹 관리하기

안내

템플릿 유형에 따라 탭 이름이 다르게 표시됩니다.

  • System Template/Tenant Template: 지원 테넌트
  • ProjectGroup Template: 지원 정보

사용자는 해당 App. 템플릿이 사용될 테넌트 또는 프로젝트그룹을 관리할 수 있습니다.

지원 테넌트 또는 프로젝트그룹을 관리하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 테넌트 또는 지원 정보 탭을 클릭하세요.
참고
관리소속인 테넌트에는 Primary 아이콘이 나타납니다.

지원 테넌트 추가하기

지원 테넌트를 추가하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 테넌트 탭을 클릭하세요.
  3. 지원 테넌트 탭에서 추가 버튼을 클릭하세요. 테넌트 추가 팝업창이 열립니다.
  4. 테넌트 추가 팝업창에서 지원할 테넌트를 선택한 후, 저장 버튼을 클릭하세요.

지원 테넌트 정보 수정하기

지원 테넌트의 정보를 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 테넌트 탭을 클릭하세요.
  3. 지원 테넌트 탭에서 변경할 테넌트의 검증 여부, 사용 여부 항목을 선택하여 수정하세요.
    항목설명
    테넌트사용가능한 테넌트 정보입니다.
    검증 여부검증 여부를 선택
    • 검증중
    • 검증완료
    사용 여부사용 여부를 선택
    • 검증 여부검증완료인 경우만 사용으로 변경이 가능합니다.
    표. 지원 테넌트 화면 항목
참고

검증 여부검증중인 경우, App. 템플릿을 등록한 사용자만 사용이 가능합니다.

  • 다른 사용자들은 검증완료 및 사용 처리 후 해당 App. 템플릿 사용이 가능합니다.

지원 프로젝트그룹 정보 수정하기

지원 프로젝트그룹의 정보를 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 정보 탭을 클릭하세요.
  3. 지원 정보 탭에서 수정 버튼을 클릭하세요. App. 템플릿 수정 화면이 나타납니다.
  4. App. 템플릿 수정 화면에서 검증 여부, 사용 여부 항목을 선택하여 수정하세요.
  5. 저장 버튼을 클릭하세요.
    항목설명
    프로젝트그룹사용가능한 프로젝트그룹 정보입니다.
    검증 여부검증 여부를 선택
    • 검증중
    • 검증완료
    사용 여부사용 여부를 선택
    • 검증 여부검증완료인 경우만 사용으로 변경이 가능합니다.
    표. 지원 정보 화면 항목
참고

검증 여부가 검증 중 인경우, App. 템플릿을 등록한 사용자만 사용이 가능합니다.

  • 다른 사용자들은 검증완료 및 사용 처리 후 해당 App. 템플릿 사용이 가능합니다.

관리 테넌트 이관하기

관리 테넌트를 이관하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 테넌트 탭을 클릭하세요.
  3. 지원 테넌트 탭에서 관리 테넌트 이관 버튼을 클릭하세요. 관리 테넌트 이관 팝업창이 열립니다.
  4. 관리 테넌트 이관 팝업창에서 이관 대상 테넌트를 선택한 후, 저장 버튼을 클릭하세요.

지원 테넌트 삭제하기

지원 테넌트를 삭제하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 테넌트 탭을 클릭하세요.
  3. 지원 테넌트 탭에서 삭제하려는 테넌트를 선택 후 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭하세요.
주의
Primary로 지정된 테넌트는 삭제할 수 없습니다.

지원 이미지 관리하기

안내
App. 템플릿의 배포 타겟이 Kubernetes, VM(Docker) 인 경우만, 지원 이미지 탭이 나타납니다.

사용자가 등록한 지원 이미지는 소스코드의 Dockerfile 이나 도커파일 템플릿에서 등록한 FROM 절에 사용이 됩니다.

지원 이미지 추가하기

안내
지원 이미지 추가 시 해당 테넌트, 프로젝트그룹에서 사용 가능한 Image Registry 툴만 목록에 나타납니다.

지원 이미지를 추가하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 이미지 탭을 클릭하세요.
  3. 지원 이미지 탭에서 추가 버튼을 클릭하세요. 지원 이미지 추가 팝업창이 열립니다.
  4. 지원 이미지 추가 팝업창에서 정보를 입력한 후 Connection Test 버튼을 클릭하세요.
  5. 저장 버튼이 활성화되면 저장 버튼을 클릭하세요.
  6. 확인 팝업창에서 확인 버튼을 클릭하세요.
    항목설명
    이미지 정보 입력지원 이미지와 인증정보를 입력하세요.
    등록자의 인증정보 사용선택한 이미지 저장소가 권한을 부여할 수 없는 툴인 경우(ex. SCR) 선택할 수 있는 옵션입니다.
    • 체크를 하지 않는 경우 지원이미지 사용자가 프로젝트를 생성할 때, 지원이미지 사용자에게 입력한 이미지의 Pull 권한을 추가합니다. 권한 부여를 할수 없는 툴인 경우 권한 부여를 수행하지 않습니다.
    • 체크를 하지 않는 경우 지원이미지 사용자가 프로젝트를 생성할 때, 지원이미지 사용자의 권한 대신 지원이미지 등록자의 인증정보를 사용합니다.
    표. 지원 이미지 추가 입력 항목
주의

등록자의 인증정보 사용 체크 시 주의사항

  • 지원이미지 사용자에게 등록자의 인증정보가 노출될 수 있으므로, 필요한 경우에만 사용하도록 주의를 요합니다.
  • 이미지 Pull만 제공하는 이미지저장소인 경우에 선택해야 사용 중에 문제가 발생하지 않습니다. 반드시 별도의 Pull 용도로만 사용할 이미지저장소를 입력해야 합니다. (체크한 경우 하나의 이미지저장소에 대해 Pull, Push가 동시에 불가능합니다.)
  • 등록자의 인증정보는 프로젝트 > 이미지저장소 > Pull 전용 이미지에서 사용합니다. 해당 인증정보는 지원이미지 사용자는 변경이 불가능하며, 지원이미지에서 등록자의 인증정보를 재등록한 경우 일괄적으로 변경됩니다.

지원 이미지 삭제하기

지원 이미지를 삭제하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 이미지 탭을 클릭하세요.
  3. 지원 이미지 탭에서 삭제할 항목의 체크박스를 선택하고 삭제 버튼을 클릭합니다.
  4. 확인 팝업창에서 확인 버튼을 클릭하세요.

지원 헬름차트 관리하기

안내
App. 템플릿의 배포 타겟이 Kubernetes 인 경우만, 지원 헬름차트 탭이 노출됩니다.
지원 헬름차트 등록은 헬름차트 추가하기를 참고하세요.

사용자가 등록한 지원 헬름차트는 App. 템플릿을 이용하여 프로젝트 생성 시 사용됩니다.

지원 헬름차트 추가하기

지원 헬름차트를 추가하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 헬름차트 탭을 클릭하세요.
  3. 지원 헬름차트 탭에서 수정 버튼을 클릭하세요. App. 템플릿 수정 화면이 나타납니다.
  4. App. 템플릿 수정 화면의 헬름차트 목록에서 사용할 헬름차트의 체크박스를 선택한 후 추가 버튼을 통해 선택된 헬름차트 목록에 추가하고 저장 버튼을 클릭하세요.

지원 헬름차트 수정하기

지원 헬름차트를 수정하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 헬름차트 탭을 클릭하세요.
  3. 지원 헬름차트 탭에서 수정 버튼을 클릭하세요. App. 템플릿 수정 화면이 나타납니다.
  4. App. 템플릿 수정 화면의 헬름차트 목록에서 사용할 헬름차트의 체크박스를 선택한 후 추가, 삭제 버튼을 통해 선택된 헬름차트 목록을 수정하고 저장 버튼을 클릭하세요.

지원 헬름차트 삭제하기

지원 헬름차트를 삭제하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 수정하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 지원 헬름차트 탭을 클릭하세요.
  3. 지원 헬름차트 탭에서 수정 버튼을 클릭하세요. App. 템플릿 수정 화면이 나타납니다.
  4. App. 템플릿 수정 화면의 선택된 헬름차트 목록에서 삭제할 헬름차트의 체크박스를 선택한 후 삭제 버튼을 통해 삭제하고 저장 버튼을 클릭하세요.

App. 템플릿 삭제하기

App. 템플릿을 삭제하려면 다음 절차를 따르세요.

  1. App. 템플릿 페이지에서 삭제하려고 하는 항목을 클릭하세요. App. 템플릿 상세 페이지로 이동합니다.
  2. App. 템플릿 상세 페이지에서 기본정보 탭을 클릭하세요.
  3. 기본정보 탭에서 삭제 버튼을 클릭하세요.
  4. 확인 팝업창에서 확인 버튼을 클릭하세요.

3 - 사용자 설치 Jenkins 툴 등록하기

참고
  • Jenkins 설치 및 운영에 Samsung Cloud Platform 마켓플레이스를 사용하는 것을 권장합니다.
  • 마켓플레이스를 사용할 수 없거나 직접 설치한 Jenkins를 DevOps Console에 툴 등록하려는 경우 본 문서를 활용하세요.
  • 본 문서는 DevOps Console에 Jenkins 툴 등록을 가이드 하는 문서이므로 Jenkins 설치 및 운영에 대해서는 간단하게 설명합니다.

사용자 설치 Jenkins 툴 등록 시작하기

Jenkins와 플러그인을 설치하세요.

Jenkins 설치

설치하기 전에

DevOps Console에 Jenkins를 등록하기 위해서는 일반적으로 Jenkins가 다음 조건을 만족해야 합니다. 다른 조건인 경우 설치 전 SR을 등록해서 확인하세요.

  • Jenkins 접속에 도메인 사용
  • DNS에 Jenkins 도메인이 등록 됨
  • Jenkins 통신에 HTTPS(443 포트), 공인인증서 사용

설치

Jenkins를 VM 또는 Kubernetes에 설치하세요

플러그인 설치

Jenkins에 아래 플러그인을 설치하세요.

Plugin IDName
apache-httpcomponents-client-4-apiApache HttpComponents Client 4.x API
credentialsCredentials
credentials-bindingCredentials Binding
githubGitHub
jobConfigHistoryJob Configuration History
kubernetesKubernetes
mask-passwordsMask Passwords
maven-pluginMaven Integration
matrix-authMatrix Authorization Strategy
metricsMetrics
pipeline-stage-viewPipeline: Stage View
pipeline-utility-stepsPipeline Utility Steps
script-securityScript Security
ssh-stepsSSH Pipeline Steps
workflow-aggregatorPipeline
workflow-step-apiPipeline: Step API
표. 설치 플러그인 목록
참고
https://plugins.jenkins.io/{Plugin ID}에서 플러그인 상세 정보를 확인 할 수 있습니다.

Jenkins 설정

공통 설정

Jenkins 관리 > System

항목설명
# of executors0Controller에서 직접 빌드 실행을 제한하고 Agent에서만 빌드 실행을 위해 0으로 설정
Jenkins URL(ex) https://{YOUR_DOMAIN}/jenkins/
System Admin e-mail address(ex) admin@example.com
표. Jenkins 관리 > System 설정

Jenkins 관리 > Security

항목설명
AuthorizationProject-based Matrix Authorization Strategy
Authenticated UsersOverall > Read
<ADMIN_USER>Overall > AdministerAdd user로 관리자 계정 추가
표. Jenkins 관리 > Security 설정

Jenkins Username에 이메일 형식 지원

  • 기본적으로 Jenkins에서는 @ 점(.) 을 로그인 Username에 사용 할 수 없습니다. 하지만 DevOps Console은 이메일을 Username으로 사용하고 있으므로 Jenkins에서도 Username에 이메일을 사용 할 수 있도록 설정합니다.
  • /{JENKINS_HOME}/init.groovy.d/init.groovy 파일 생성 후 아래 내용을 입력하고 Jenkins를 재시작 하세요.
    • (ex) /var/jenkins_home/init.groovy.d/init.groovy
배경색 변경
hudson.security.HudsonPrivateSecurityRealm.ID_REGEX=/^[\w-\.\@\_]+$/
hudson.security.HudsonPrivateSecurityRealm.ID_REGEX=/^[\w-\.\@\_]+$/
코드 블럭. init.groovy

Kubernetes에 설치 한 Jenkins 추가 설정

RBAC

Jenkins에서 Kubernetes에 Pod를 생성 할 수 있도록 Jenkins의 Service Account에 RBAC을 설정하세요.

배경색 변경
# In GKE need to get RBAC permissions first with
# kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin [--user=<user-name>|--group=<group-name>]
 
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins
 
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jenkins
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
  resources: ["pods/exec"]
  verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get","list","watch"]
- apiGroups: [""]
  resources: ["events"]
  verbs: ["watch"]
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["get"]
 
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: jenkins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: jenkins
subjects:
- kind: ServiceAccount
  name: jenkins
# In GKE need to get RBAC permissions first with
# kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin [--user=<user-name>|--group=<group-name>]
 
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins
 
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jenkins
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
  resources: ["pods/exec"]
  verbs: ["create","delete","get","list","patch","update","watch"]
- apiGroups: [""]
  resources: ["pods/log"]
  verbs: ["get","list","watch"]
- apiGroups: [""]
  resources: ["events"]
  verbs: ["watch"]
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["get"]
 
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: jenkins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: jenkins
subjects:
- kind: ServiceAccount
  name: jenkins
코드 블럭. service-account.yml

Jenkins 관리 > Clouds

kubernetes

  • kubernetes 클라우드를 추가하세요.
  • kubernetes 클라우드를 다음과 같이 설정하세요. 나머지 항목은 기본 값 그대로 사용합니다.
항목설명
Cloud namekubernetes
TypeKubernetes 선택
Kubernetes URLhttps://kubernetes.defaultJenkins가 실행중인 클러스터에 Pod(Agent)를 생성
Disable https certificate체크
Kubernetes Namespace(예) jenkinsJenkins Controller가 실행 중인 Namespace 입력, 해당 Namespace에 Pod(Agent)가 생성 됨
WebSocket체크
Jenkins URL(예) http://{JENKINS_SERVICE_NAME}:{PORT}/jenkins
  • Pod(Agent) → Pod(Controller) 호출 할 때 사용하는 Jenkins URL
  • 동일한 Namespace 내부에서 호출되므로 Kubernetes Service Name을 사용
표. Jenkins 관리 > Clouds > kubernetes 설정

kubernetes > Pod Templates

  • Pod Template을 추가하세요.
  • BASE-TEMPLATE은 각 Pod Template에서 공통으로 사용해야 하는 값을 설정하는 상위 Template으로 DevOps Console에서 사용됩니다.
항목설명
NameBASE-TEMPLATE
Image Pull Secret{IMAGE_PULL_SECRET} 이름 입력Pod(Agent) 이미지를 Pull 할 수 있도록 Secret을 Namespace에 생성하고 그 이름을 입력
표. Jenkins 관리 > Clouds > kubernetes > Pod Templates 설정

DevOps Console에서 Jenkins 툴 등록하기

방화벽 등록하기

아래 표를 참고하여 Jenkins에 방화벽을 등록하세요.

출발지목적지목적지 Port
사용자 설치 JenkinsDevOps Console 웹443
DevOps Console 출발지 IP사용자 설치 Jenkins 웹443
표. Jenkins(목적지) 방화벽 목록
참고
DevOps Console의 출발지 IP를 확인하려면 툴 추가 화면에서 URL ⓘ를 클릭하세요. 툴팁에서 DevOps Console의 출발지 IP를 확인 할 수 있습니다.

DevOps Console 작업

  • Jenkins 툴 등록과 관련된 상세한 내용은 툴 추가하기를 참고하세요.
  • 툴 등록 단계에서 Jenkins에 설치 된 플러그인을 확인하고, 설치가 필요한 플러그인이 있는 경우 플러그인 설치 안내 페이지가 표시됩니다. 안내 대로 플러그인을 다운로드 받아 설치하세요.

Jenkins 확인

Jenkins 관리 > System

Global Trusted Pipeline Libraries

  • Library에 cicdpaas가 설정 되어 있는지 확인하세요.
  • 설정이 되어 있지 않다면
    • DevOps Console ↔ Jenkins 통신 여부를 확인하세요.
    • DevOps Console > 관리 > Jenkins 상세화면 > 글로벌 라이브러리 탭에서 설정을 확인하세요.

DevOps Console Credentials

  • Test Connection 버튼을 클릭해서 Success가 출력되는지 확인하세요.

Jenkins에 에이전트(VM) 추가하기

DevOps Console 작업

에이전트(VM) 추가하기를 확인하고 에이전트(VM)을 추가하세요.

Jenkins 작업

Jenkins 관리 > Nodes > 에이전트 상세 화면

DevOps Console에서 추가 한 Agent가 생성 된 것을 확인하세요. Jenkins 화면의 가이드에 따라 Agent를 실행하고 Jenkins에 연결하세요.

Jenkins에 에이전트(Kubernetes) 추가하기

에이전트(Kubernetes)를 추가하기 전에

사용자 Jenkins 에이전트 이미지 생성하기

  • Jenkins에서 CI/CD를 위해서는 에이전트 이미지가 필요합니다.
  • Jenkins에서 기본 제공하는 이미지를 사용해서 사용자에게 맞는 Jenkins 에이전트 이미지를 생성하세요.
  • 이미지 생성 후 사용자 이미지 저장소에 push 하세요.
배경색 변경
FROM jenkins/inbound-agent:latest-jdk17

USER root

# Docker CLI
RUN curl -L0 "https://download.docker.com/linux/static/stable/x86_64/docker-29.1.3.tgz" -o /tmp/docker.tgz && \
    tar --extract \
      --file /tmp/docker.tgz \
      --strip-components 1 \
      --directory /usr/local/bin/ && \
    rm /tmp/docker.tgz

COPY --from=docker/buildx-bin /buildx /usr/libexec/docker/cli-plugins/docker-buildx

# Install your build tools...
# xxx

USER jenkins
FROM jenkins/inbound-agent:latest-jdk17

USER root

# Docker CLI
RUN curl -L0 "https://download.docker.com/linux/static/stable/x86_64/docker-29.1.3.tgz" -o /tmp/docker.tgz && \
    tar --extract \
      --file /tmp/docker.tgz \
      --strip-components 1 \
      --directory /usr/local/bin/ && \
    rm /tmp/docker.tgz

COPY --from=docker/buildx-bin /buildx /usr/libexec/docker/cli-plugins/docker-buildx

# Install your build tools...
# xxx

USER jenkins
코드 블럭. Dockerfile 예시

Docker in Docker 이미지

  • DevOps Console에서는 Kubernetes 환경에서 Docker 이미지를 생성하기 위해 Docker in Docker를 사용합니다.
  • Docker에서 제공하는 docker:dind (Docker in Docker) 이미지를 사용자 저장소에 push 하세요.

DevOps Console 작업

  • Pod Template 추가하기를 확인하고 에이전트(kubernetes)을 추가하세요.
    • 기본적으로 에이전트가 한 개(또는 여러 개) 등록되어 있습니다. 기본으로 등록 된 에이전트를 삭제하세요.
  • Docker 이미지 빌드가 필요한 경우 Docker in Docker를 사용으로 선택하세요.
  • jnlp 이미지 주소에 위에서 생성한 사용자 Jenkins 에이전트 주소를 입력하세요.

Jenkins 작업

Jenkins 관리 > Clouds > kubernetes > Pod Templates

  • DevOps Console에서 추가한 에이전트(Kubernetes)가 Pod Template으로 등록되어 있습니다.
  • DevOps Console에서 Docker in Docker를 사용으로 선택한 경우 dind 컨테이너에 기본 이미지 주소가 입력되어 있습니다. 사용자 저장소에 push한 docker:dind 이미지 주소로 변경하세요.