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로 정의할 수 있습니다.