Bamboo Agent로 Remote Server에서 Job을 실행할 수 있는 환경을 안내드립니다.
전체 순서는 아래와 같습니다.
- 대상 서버에 Bamboo Agent 설치
- Server capabilities 설정
- Job 설정
- 결과 확인
Bamboo Agent 설치
- 사전 조건
- Bamboo Server ↔ Remote Server 방화벽 설정(proxy 사용 시 80, 8085, 54663)
- Remote Server JDK 1.8 설치
관리자 메뉴의 Agents
Install remote agent
Agent JAR 파일을 다운로드 받아서 Remote Server에서 실행합니다.
#bamboo agent home directory를 생성합니다.
/var/atlassian/application-data/bamboo-home
#bamboo home path를 지정합니다.
java -Dbamboo.home=/var/atlassian/application-data/bamboo-home -jar atlassian-bamboo-agent-installer-6.6.1.jar http://13.209.93.233:8085/agentServer/
- bamboo-home에 bin, log등 파일 생성을 확인할 수 있습니다.Approve this agent at 링크로 IP 승인
등록된 Remote Agent 확인
Server capabilities
서버가 할 수 있는 작업들을 Key, Value 또는 환경을 정의합니다.
python, test 값으로 테스트 해보겠습니다.
메뉴는 Agents > Shared remote capabilities 입니다.
Key, Value에 python, test를 추가합니다.
이제 Remote Agent에 작업을 실행해 보겠습니다.
Job 설정
Job에서 Requirements를 선택하여 사전에 정의한 python을 선택합니다.
아래 Python Code로 테스트를 진행 했습니다.
#file wirte test#/opt/test.py
f = open("/opt/pyText.txt", 'w')
for i in range(1, 11):
data = "%d line \n" % i
f.write(data)f.close()
- Task > Requirements 선택하여 Remote Agent의 capabilities에서 정의한 값 선택
- Script 명령어 작성
결과확인
Run plan
Remote Agent의 python sample code 실행 결과
서버에 Agent 설치 부터 실행까지 해봤습니다. 중간에 capabilities 설정이 생소합니다.
Plan의 여러 Task들이 capabilities에 의해서 여러 Agent의 실행 결과에 따라 빌드를 수행할 수 있습니다.
API 빌드 결과에 따라서 다음 API 서버의 작업을 다르게 설정할 수 있는 유연한 계획을 수립할 수 있습니다.
Bamboo Server와 Agent간의 방화벽 허용도 중요합니다. Proxy서버에서 8085는 처리할 수 있지만 54663 포트는 proxy를 하지 않도록 권장하고 있습니다.
Bamboo는 UI/UX가 군더더기 없고 깔끔해서 관리하기가 좋은 것 같습니다. 또한 Jira, Bitbucket과 강력한 통합 환경을 제공하는데요 이 내용은 다음에 공유하도록 하겠습니다. 감사합니다.