본문 바로가기

개발 도구/Bitbucket

[ Bitbucket ] script 실행에 필요한 설치 준비하기

반응형

 

 

Bitbucket Pipelines는 기본적으로 Docker 컨테이너에서 실행되기 때문에,
빌드 도구(build tool)가 해당 컨테이너 이미지에 사전 설치되어 있거나, 설치 스크립트를 통해 직접 설치해야만 빌드가 가능합니다.


1. 빌드 도구가 이미 설치된 이미지 사용

예를 들어, Node.js 프로젝트라면 node 이미지에는 npm이나 node가 이미 포함되어 있습니다:

image: node:18
pipelines:
  default:
    - step:
        script:
          - npm install
          - npm run build

장점: 빠르고 간단
단점: 복잡한 빌드 환경(여러 도구 조합 등)은 부족할 수 있음


2. 필요한 도구를 설치하는 스크립트 작성

빌드 도구가 기본 이미지에 없다면, 명령어로 직접 설치해야 합니다. 예:

image: ubuntu:22.04

pipelines:
  default:
    - step:
        name: Install and Build
        script:
          - apt-get update && apt-get install -y openjdk-17-jdk maven
          - mvn clean package

예시:

  • Java + Maven이 필요한 경우 직접 설치 후 사용
  • Python 프로젝트에서 pip, poetry, poetry-plugin 등을 설치 가능

3. 커스텀 Docker 이미지 사용

설정 반복을 피하려면 필요한 빌드 도구가 포함된 Docker 이미지를 직접 만들어서 사용할 수 있습니다.

image: your-docker-repo/your-custom-image:latest

이 경우, Dockerfile에는 모든 빌드 툴을 사전 설치해두고
Bitbucket Pipelines는 그 이미지를 바로 사용합니다.


4. services: 섹션으로 외부 도구 연결 (예: DB, Redis 등)

definitions:
  services:
    postgres:
      image: postgres:13

pipelines:
  default:
    - step:
        script:
          - ./build.sh
        services:
          - postgres

빌드 도구는 아니지만, 빌드/테스트 도중 DB 등 외부 서비스가 필요할 경우 services로 함께 사용 가능.


🔒 주의할 점

  • Bitbucket Pipelines는 루트 권한(root) 으로 실행되므로 설치 명령어를 자유롭게 실행 가능
  • 하지만, 매번 설치는 시간이 오래 걸리므로 커스텀 이미지를 만드는 것이 장기적으로 효율적

 

반응형