Bamboo 기초

 지속적 통합 및 배포 빌드를 지원하는 Bamboo 기초 설명입니다.

Project

Plans의 모음입니다. 논리적으로 관련된 계획을 쉽게 그룹화하고 식별 할 수 있습니다.

프로젝트 단위로 접근 권한을 설정하여 액세스를 쉽게 제어 할 수 있습니다.

  • n개의 계획을 포함합니다.
  • 프로젝트는 Reports를 제공합니다.
  • Plan에 포함 된 권한을 설정할 수 있습니다.

<project settings>


  • Project details
  • Project permissions
  • Plan permissions inheritance
  • Bamboo Specs repositories
  • Application links

Bamboo Project Admin을 설정하여 Admin이 Bamboo Plan, Repositories 접근 권한을 설정할 수 있습니다.

Application 개발자에게 한정적인 빌드, 배포 권한을 부여함으로써 Ops팀과 Dev팀의 차이를 줄일 수 있습니다.

Plan

지속통합, 빌드 프로세스를 정의합니다.

  • 기본적으로 하나의 stage로 구성되어 있지만, 여러개의 jobs을 여러 stage로 구성할 수 있습니다.
  • 하나의 Repository를 사용하여 순차적으로 실행되는 하나 이상의 stage를 처리합니다.
  • 기본 Repository를 지정합니다.
  • 빌드가 트리거되는 방법과 프로젝트의 계획과 다른 계획 간의 트리거 종속성을 지정합니다.
  • 빌드 결과에 대한 알림을 지정합니다.
    • 메일 또는 메신저
  • Plan, jobs 설정 및 보기 권한을 설정할 수 있습니다.
  • Plan variables를 설정할 수 있습니다.

<Create stage>

  • stage를 추가할 수 있습니다.

Stage

  • 하나의 Plan에는 각 단계에 대한 stage를 정의할 수 있습니다.
  • 예를들어, 컴파일 단계와 몇가지 테스트 단계, 배포 단계로 구성된 전반적인 Plan 빌드프로세스가 있을 수 있습니다.
  • 기본적으로는 Default job이 있지만 여러 작업을 그룹화 하는데 사용할 수 있습니다.
  • 여러 Agent에서 병렬처리 할 수 있습니다.
  • 다음 Stage를 처리하기 위해서는 모든 작업을 성공적으로 완료해야 합니다.


Job

  • Plan 내의 단일 빌드 단위입니다.
  • 하나 이상의 작업을 Bamboo Agent로 순차 또는 병렬 처리할 수 있습니다.
  • 작업이 수행되는 순서를 제어합니다.
  • job에 각 tast가 필요한 값으로 agent를 선택적으로 실행할 수 있습니다.
  • artifacts를 생성하여 stage가 실행될 때 사용할 수 있습니다.


Deployment projects

  • 배포 프로젝트의 계획을 쉽게 만들 수 있습니다.

<빌드 배포 전략 예시>

  • 배포는 다음을 포함하는 컨테이너 입니다.
  • Development, Staging, Production과 같은 물리적 환경을 나타냅니다.
  • 배포 중인 실제 소프트웨어 artifacts를 나타내는 릴리즈 - 릴리즈를 구성하는 이슈, 및 커밋 내역을 포함하고 있습니다.
  • Plan의 통합 빌드, 배포를 workflow로 정의할 수 있습니다.