Bamboo 서비스 구성 및 설치 가이드
1. Bamboo 개요
Atlassian Bamboo는 소프트웨어 개발 및 빌드 작업을 자동화하기 위한 지원 플랫폼입니다.
Bamboo는 소프트웨어 개발 및 빌드 작업을 자동화하고 제어하고 보고하고 배포하기 위해 사용할 수 있는 도구를 제공합니다.
2. Bamboo 구성 개요
본 가이드 문서에서는 Bamboo Application 8.2.7 버전을 사용합니다.
Bamboo을 사용하기 위해서 Bamboo에서 사용할 DB 구성을 진행합니다.
이후 Bamboo 인스턴스를 구성하고 Bamboo설치 전 Configuration을 진행 후 웹 UI로 접근하여 설치합니다.
- Bamboo DB 구성
- DB 생성
- DB 유저 및 패스워드 구성
- DB - User 권한 매핑
- Bamboo 구성
- Bamboo Tomcat 설정
- Bamboo 설치
본 가이드는 Crowd 서비스 구성 및 설치 가이드에서 생성한 PostgreSQL DB 인스턴스를 사용합니다.
(설치 및 설정 가이드는 여기서도 제공합니다.)
3. Bamboo 설치 환경
OpenStack을 사용한 Private Cloud 환경
Bamboo Instance 구성 정보
- OS: Linux Ubuntu-jammy-22.04 (Cloud Image)
- JDK: OpenJDK 11.0.17
- Bamboo: Bamboo 8.2.7
Bamboo DB Instance 구성 정보
- OS: Linux Ubuntu-jammy-22.04 (Cloud Image)
- Database: PostgreSQL 14
💡
Bamboo Server 플랫폼 요구사항은 Atlassian에서 제공하는 Docs를 참고.
4. PostgreSQL 구성
4.1 PostgreSQL 설치
apt update && apt install -y postgresql-14
4.2 PostgreSQL 외부 접속허용 설정
vim /etc/postgresql/14/main/postgresql.conf
- Listen_addresses을 localhost 에서 * 으로 변경
vim /etc/postgresql/14/main/pg_hba.conf
- Bitbucket 인스턴스에서 접근 허용할 정보 입력
💡
설정을 위와 같이 변경합니다.
→ Bamboo 서버에서 접속할 때 scram-sha-256 암호화를 사용합니다.
(설정 변경 전 PostgreSQL의 기본 계정인 postgres 계정의 패스워드를 설정 해야합니다.)
→ ADDRESS 부분은 Bitbucket Server IP로 지정합니다.
pg_hba.conf 파일 설정에 대한 부분은 PostgreSQL 공식 Docs에서 확인가능합니다.
→ Bamboo 서버에서 접속할 때 scram-sha-256 암호화를 사용합니다.
(설정 변경 전 PostgreSQL의 기본 계정인 postgres 계정의 패스워드를 설정 해야합니다.)
→ ADDRESS 부분은 Bitbucket Server IP로 지정합니다.
pg_hba.conf 파일 설정에 대한 부분은 PostgreSQL 공식 Docs에서 확인가능합니다.
4.3 PostgreSQL DB 구성
CREATE ROLE bamdbadmin WITH LOGIN PASSWORD 'bamdamin' VALID UNTIL 'infinity';
CREATE DATABASE bamdb WITH ENCODING='UTF8' OWNER=bamdbadmin CONNECTION LIMIT=-1;
공식 PostgreSQL 설정 가이드는 Atlassian Docs 참고
5. Bamboo 구성
5.1 OpenJDK 11 설치
apt install -y openjdk-11-jdk\
5.2 JAVA_HOME 환경변수 설정
- OpenJDK 설치 위치를 확인 합니다. (기본적으로 /usr/lib/jvm 에 존재합니다.)
dpkg -L openjdk-11-jdk
echo "export JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64'" >> ~/.bashrc
5.3 Bamboo 8.2.7 설치파일 다운로드
https://www.atlassian.com/software/bamboo/download-archives
- wget으로 다운로드
wget https://www.atlassian.com/software/bamboo/downloads/binary/atlassian-bamboo-8.2.7.tar.gz
5.4 Bamboo 설치
- Confluence가 설치될 Confluence 홈디렉터리 생성 및 다운받은 설치파일 압축 해제
mkdir -p /Atlassian/home-dir/bamboo-home && \
tar -xvf atlassian-bamboo-8.2.7.tar.gz -C /Atlassian
- Bamboo user 생성
useradd -d /Atlassian/home-dir/bamboo-home -s /bin/bash bamboo
Bamboo user
에게 디렉터리 권한 할당
chown -R bamboo:bamboo /Atlassian/home-dir/bamboo-home /Atlassian/atlassian-bamboo-8.2.7 && \
chmod -R u=rwx,go-rwx /Atlassian/home-dir/bamboo-home /Atlassian/atlassian-bamboo-8.2.7
- 설치 전
bamboo-init.properties
수정
(아래 사진과 같이 bamboo.home
지정)
- 설치 스크립트 실행
# bamboo 사용자로 설치
su bamboo
bash /Atlassian/atlassian-bamboo-8.2.7/bin/start-bamboo.sh
http://<Bamboo-Server-IP>:8085/
접속
- Bamboo 서버 기본 설정
- DB 정보 입력
- 새로운 Bamboo home 선택
- 관리자 계정 정보 입력
(선택사항) Context Path 변경
- Bamboo 중지
bash /Atlassian/atlassian-bamboo-8.2.7/bin/stop-bamboo.sh
- server.xml 수정
vim /Atlassian/atlassian-bamboo-8.2.7/conf/server.xml
(Context의 path=""
를 수정합니다.)
- Bamboo 시작
bash /Atlassian/atlassian-bamboo-8.2.7/bin/start-bamboo.sh
- Bamboo 설정
(Base URL을 Proxy 주소로 입력합니다.)
6. Apache Proxy 설정
이전 Apache - Tomcat(Confluence, Jira, Crowd) 연동 가이드 포스트에서 추가한 방식으로 Apache에 Proxy 설정을 추가합니다.
6.1 Bamboo 서버에서 server.xml
수정
vim /Atlassian/atlassian-bamboo-8.2.7/conf/server.xml
(아래 사진과 같이 proxyName
과 proxyPort
를 추가합니다.)
6.2 Apache 서버에서 001-atlassian.conf
수정
아래 사진과 같이 ProxyPass
와 ProxyPassReverse
를 설정합니다.