본문 바로가기
프로그래밍/Util

[Bruno] Postman에서 Bruno로 전환하기

by JLearn 2026. 7. 8.
반응형

API 테스트 도구로 Postman을 많이 사용하지만, API 요청 파일을 Git으로 관리하고 싶다면 Bruno를 대안으로 검토할 수 있습니다.

Bruno는 API 요청 컬렉션을 로컬 파일로 저장하고, Git 저장소 안에서 코드처럼 관리하는 것을 핵심 방향으로 하는 API 클라이언트입니다. 공식 사이트에서는 Bruno를 Git-native, Local-first, Developer-first API 클라이언트로 설명하며, 컬렉션을 plain text 파일로 저장한다고 안내합니다.

이 글에서는 Bruno 설치 방법, Postman에서 Bruno로 이동하는 이유, Bruno의 장점과 단점, Postman 컬렉션 마이그레이션 방법, API 요청 생성, 환경 변수 등록, .bru 파일 구조, Git 연동 방법, 단축키와 사용 팁을 정리합니다.


핵심 요약

Postman에서 Bruno로 이동할 때 가장 큰 차이는 API 요청을 관리하는 방식입니다.

구분 Postman Bruno
기본 관리 방식 워크스페이스와 클라우드 협업 중심 로컬 파일과 Git 중심
컬렉션 저장 방식 Postman 내부 데이터 또는 Export 파일 폴더와 텍스트 파일
협업 방식 Postman 계정, 워크스페이스, 권한 Git 저장소, 브랜치, Pull Request
변경 이력 Postman 기능에 의존 Git commit, diff, log 사용
오프라인 사용 기능에 따라 제약 가능 로컬 파일 기반 사용에 적합
코드 저장소와 함께 관리 별도 Export/Import 필요 소스 코드 옆에 컬렉션 배치 가능

Bruno를 도입하면 API 요청 정의를 소스 코드처럼 관리할 수 있습니다.

예를 들어 아래처럼 프로젝트 안에 API 테스트 컬렉션을 둘 수 있습니다.

sample-api/
├── src/
├── README.md
└── bruno/
    ├── bruno.json
    ├── environments/
    │   ├── local.bru
    │   ├── stg.bru
    │   └── prod.bru
    ├── auth/
    │   └── 로그인.bru
    ├── users/
    │   ├── 사용자생성.bru
    │   └── 사용자조회.bru
    └── common/
        └── 상태확인.bru

이렇게 구성하면 API 변경사항과 테스트 요청 변경사항을 같은 Git 흐름에서 관리할 수 있습니다.


1. Bruno 설치 방법

Bruno는 Windows, macOS, Linux에서 사용할 수 있습니다. 이 글에서는 Windows 11은 exe 설치 파일 방식으로 정리하고, Ubuntu 24.04 LTS는 APTSnap 방식으로 정리합니다.

1-1. Windows 11 설치: exe 설치 파일 사용

Windows 11에서는 Bruno 공식 다운로드 페이지에서 Windows용 exe 설치 파일을 내려받아 설치하는 방식이 가장 단순합니다.

진행 순서는 다음과 같습니다.

1. Bruno 공식 다운로드 페이지에 접속한다.
2. Windows 항목에서 exe 설치 파일을 다운로드한다.
3. 다운로드한 exe 파일을 실행한다.
4. 설치 마법사의 안내에 따라 설치한다.
5. 설치가 끝나면 시작 메뉴에서 Bruno를 검색해 실행한다.

설치 후 Bruno가 정상 실행되면 첫 화면에서 새 컬렉션을 만들거나 기존 Postman 컬렉션을 가져올 수 있습니다.

Windows에서 별도의 패키지 관리자를 사용하지 않는 일반 개발 PC라면 exe 설치 파일 방식으로 정리하는 것이 가장 이해하기 쉽습니다.


1-2. Ubuntu 24.04 LTS 설치: APT 저장소 방식

Ubuntu 24.04 LTS에서는 Bruno 공식 APT 저장소를 등록한 뒤 apt install bruno로 설치할 수 있습니다.

먼저 필요한 패키지를 설치합니다.

sudo apt update
sudo apt install -y gpg curl ca-certificates

APT keyring 디렉터리를 생성합니다.

sudo mkdir -p /etc/apt/keyrings

Bruno 저장소 키를 등록합니다.

curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9FA6017ECABE0266" | \
  gpg --dearmor | \
  sudo tee /etc/apt/keyrings/bruno.gpg > /dev/null

키 파일 권한을 설정합니다.

sudo chmod 644 /etc/apt/keyrings/bruno.gpg

Bruno APT 저장소를 추가합니다.

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/bruno.gpg] http://debian.usebruno.com/ bruno stable" | \
  sudo tee /etc/apt/sources.list.d/bruno.list

패키지 목록을 갱신하고 Bruno를 설치합니다.

sudo apt update
sudo apt install -y bruno

설치된 패키지를 확인합니다.

apt list --installed | grep bruno

Ubuntu 애플리케이션 메뉴에서 Bruno를 검색해 실행합니다.

터미널에서 실행할 수도 있습니다.

bruno

APT 방식으로 설치하면 일반적인 Ubuntu 패키지 업데이트 흐름에 Bruno를 포함할 수 있습니다.

sudo apt update
sudo apt upgrade

APT 저장소 주소, GPG 키, 패키지명은 Bruno 버전에 따라 변경될 수 있으므로 설치 오류가 발생하면 Bruno 공식 다운로드 문서의 최신 명령을 확인합니다.


1-3. Ubuntu 24.04 LTS 설치: Snap 방식

Ubuntu 24.04 LTS에서 Snap을 사용한다면 아래 명령으로 Bruno를 설치할 수 있습니다.

sudo snap install bruno

설치된 Snap 패키지를 확인합니다.

snap list bruno

Ubuntu 애플리케이션 메뉴에서 Bruno를 검색해 실행합니다.

터미널에서 실행할 수도 있습니다.

bruno

Snap 방식은 저장소 키나 APT source 파일을 직접 등록하지 않아도 설치할 수 있다는 장점이 있습니다.
다만 조직이나 서버 환경에서 패키지 설치 방식을 엄격하게 관리한다면 APT 방식이 더 명확할 수 있습니다.

Snap 패키지는 자동 업데이트와 샌드박스 정책의 영향을 받을 수 있습니다. 회사 표준 설치 방식이 정해져 있다면 APT, Snap, exe 중 하나로 통일하는 것이 운영 문서 관리에 유리합니다.


1-4. 설치 방식 선택 기준

Windows 11에서는 exe 설치 파일 방식으로 정리하면 됩니다.

Ubuntu 24.04 LTS에서는 운영 방식에 따라 APT 또는 Snap 중 하나를 선택하면 됩니다.

환경 추천 방식 이유
Windows 11 일반 개발 PC exe 설치 파일 설치 과정이 직관적이고 별도 패키지 관리자가 필요 없음
Ubuntu 24.04 LTS 개발 PC APT Ubuntu 패키지 업데이트 흐름에 포함하기 쉬움
Ubuntu 24.04 LTS 간단 설치 Snap 저장소 키와 source 파일 등록 없이 설치 가능

개인 개발 PC에서는 설치가 쉬운 방식을 선택하면 됩니다.
팀에서 설치 방법을 문서화한다면 Windows는 exe, Ubuntu는 APT를 기본으로 두고, Snap은 대안 방식으로 정리하는 것이 좋습니다.


2. 전환 기준: 이동 이유, 장점, 단점

Postman은 기능이 많고 사용자가 많지만, 팀 운영 관점에서는 API 요청이 소스 코드와 분리되어 관리되는 경우가 많습니다.

개발자가 실제로 아래와 같은 내용을 원한다면 Bruno는 이 목적에 잘 맞습니다.

개인적으로는 Postman의 워크스페이스 관리 방식, 클라우드 동기화 등으로 인한 실행 속도 체감 등이 전환 검토의 계기가 되고 있습니다.

  • API 요청 변경 이력을 Git으로 확인
  • API 요청 파일을 소스 코드와 같은 저장소에 보관
  • 브랜치별로 API 요청도 함께 변경
  • Pull Request에서 API 요청 변경 내용을 리뷰
  • 운영 토큰, 비밀번호 같은 민감정보는 저장소에 올리지 않기
  • 별도의 클라우드 동기화 없이 로컬에서 관리

Bruno 공식 저장소에서는 컬렉션이 파일 시스템의 폴더에 저장되고, Git 또는 원하는 버전 관리 시스템으로 협업할 수 있으며, 클라우드 동기화를 사용하지 않는다고 설명합니다.

Bruno가 특히 적합한 상황은 다음과 같습니다.

상황 Bruno가 적합한 이유
Git 기반으로 개발하는 팀 API 요청 파일을 같은 Git 흐름으로 관리 가능
브랜치 전략을 사용하는 팀 브랜치별 API 요청 변경사항 관리 가능
API 요청 변경도 리뷰하고 싶은 팀 .bru 또는 YAML 파일 diff 확인 가능
클라우드 동기화보다 로컬 관리를 선호하는 팀 로컬 파일 기반 사용 가능
Postman Export 파일 관리가 번거로운 팀 컬렉션 자체를 저장소에 보관 가능

Bruno의 주요 장점은 다음과 같습니다.

장점 설명
Git과 잘 맞음 API 요청 하나가 파일로 저장되므로 git diff, git commit, Pull Request 리뷰가 자연스럽습니다.
로컬 파일 중심 컬렉션이 실제 폴더와 파일로 저장되어 구조를 파악하기 쉽습니다.
민감정보 분리 가능 환경 변수와 .env 파일을 사용해 토큰, 비밀번호, API Key를 분리할 수 있습니다.
Postman 컬렉션 가져오기 가능 Postman에서 Export한 Collection v2 또는 v2.1 JSON 파일을 Bruno로 가져올 수 있습니다.

예를 들어 Bruno 컬렉션을 Git으로 관리하면 API URL, Header, Body, 테스트 스크립트 변경을 코드 변경처럼 확인할 수 있습니다.

git diff
git add .
git commit -m "add bruno api requests"
git push origin dev

반대로 Bruno를 도입할 때 주의할 점도 있습니다.

항목 주의할 점
클라우드 협업 Bruno는 로컬/Git 중심이므로 Postman식 클라우드 워크스페이스 협업과 사용 방식이 다릅니다.
Postman 고급 기능 Postman의 모든 기능이나 스크립트가 100% 동일하게 변환된다고 보면 안 됩니다. 가져온 뒤 검증이 필요합니다.
팀원 Git 이해도 Git 기반 협업이 장점이지만, 비개발자에게는 Git 흐름이 부담이 될 수 있습니다.
Bulk Import Postman 전체 데이터 덤프 일괄 가져오기는 Bruno Ultimate Edition 기능으로 문서화되어 있습니다.
파일 포맷 선택 .bru는 계속 지원되지만, 신규 컬렉션은 공식 문서에서 YAML 형식을 권장합니다.
민감정보 관리 .bru나 YAML 파일에 운영 토큰을 직접 쓰면 Git에 노출될 수 있습니다.

실무에서는 처음부터 모든 Postman 컬렉션을 한 번에 옮기기보다, 자주 사용하는 API부터 Bruno로 옮기고 Git 관리 방식이 팀에 맞는지 검증하는 것이 좋습니다.


3. Postman에서 Bruno로 마이그레이션

Postman 컬렉션을 Bruno로 옮기는 기본 흐름은 다음과 같습니다.

Postman Collection Export
→ Postman Environment Export
→ Bruno Import Collection
→ 저장 위치 선택
→ URL, Header, Body, Script 동작 확인

먼저 Postman에서 옮길 컬렉션을 Export합니다.

  1. Postman 실행
  2. 이동할 Collection 선택
  3. Collection 우측 ... 메뉴 클릭
  4. View more actions 선택
  5. Export 선택
  6. Collection v2 또는 Collection v2.1 선택
  7. JSON 파일 저장

예시 파일명:

sample-api.postman_collection.json

환경 변수도 사용 중이라면 Environment도 함께 내보냅니다.

  1. Postman 왼쪽 메뉴에서 Environments 이동
  2. 내보낼 Environment 선택
  3. ... 메뉴 클릭
  4. Export 선택
  5. JSON 파일 저장

예시 파일명:

local.postman_environment.json

그 다음 Bruno에서 Postman 컬렉션 JSON 파일을 가져옵니다.

  1. Bruno 실행
  2. 좌측 상단 + 또는 컬렉션 메뉴 클릭
  3. Import Collection 선택
  4. Postman Collection 선택
  5. Postman에서 Export한 JSON 파일 선택
  6. Bruno 컬렉션 저장 위치 선택
  7. Import 실행

권장 저장 위치는 API 프로젝트 루트 아래의 bruno 폴더입니다.

프로젝트루트/bruno

Windows 개발 환경이라면 다음처럼 둘 수 있습니다.

C:\Workspace\Projects\sample-api\bruno

Import가 끝나면 바로 사용하기보다 아래 항목을 확인하는 것이 좋습니다.

1. 요청 URL이 정상적으로 변환되었는가?
2. Method(GET, POST, PUT, DELETE)가 맞는가?
3. Header가 누락되지 않았는가?
4. Body JSON이 깨지지 않았는가?
5. Environment 변수가 정상 참조되는가?
6. Postman Script가 Bruno Script로 정상 동작하는가?
7. 인증 토큰이 파일에 직접 저장되지 않았는가?

특히 운영 토큰이나 비밀번호가 Postman Export 파일에 포함되어 있었다면, Bruno로 가져온 뒤 반드시 제거하거나 .env 방식으로 분리해야 합니다.

Postman Export JSON에는 환경 변수 값, 토큰, API Key 같은 민감정보가 포함될 수 있습니다. Import 전후로 파일 내용을 확인하고, Git에 추가하기 전에 반드시 민감정보를 제거해야 합니다.


4. 컬렉션과 API 요청 생성

Bruno에서 컬렉션은 API 요청을 담는 최상위 단위입니다. 컬렉션은 실제 파일 시스템의 폴더로 저장되므로, 처음 만들 때 저장 위치를 프로젝트 구조에 맞게 정하는 것이 중요합니다.

새 컬렉션 생성 순서는 다음과 같습니다.

  1. Bruno 실행
  2. 좌측 상단 + 클릭
  3. Create Collection 선택
  4. Collection 이름 입력
  5. 저장 위치 선택
  6. 파일 포맷 선택
  7. Create 클릭

예시:

항목
Collection Name sample-api-tests
Location C:\Workspace\Projects\sample-api\bruno
File Format YAML 또는 BRU

공식 문서 기준으로 신규 컬렉션은 YAML 형식이 권장됩니다. 다만 기존 .bru 방식도 계속 지원됩니다.

팀에서 새로 Bruno를 도입한다면 YAML 또는 .bru 중 하나를 기준 포맷으로 정해두는 것이 좋습니다. 같은 컬렉션 안에서 포맷 기준이 섞이면 리뷰와 diff 확인이 복잡해질 수 있습니다.

API 프로젝트와 함께 관리한다면 아래처럼 프로젝트 루트 아래에 bruno 폴더를 두는 방식이 좋습니다.

sample-api/
├── src/
├── README.md
└── bruno/

컬렉션을 만든 뒤 실제 API 요청을 생성합니다. 요청은 HTTP Method, URL, Header, Auth, Body, Script, Test 값을 포함할 수 있으며, 저장하면 컬렉션 폴더 안에 요청 파일로 기록됩니다.

요청 생성 순서는 다음과 같습니다.

  1. 컬렉션 이름 우측 ... 메뉴 클릭
  2. New Request 선택
  3. 요청 타입 선택
  4. 요청 이름 입력
  5. URL 입력
  6. Method 선택
  7. 필요한 Header, Body, Auth 설정
  8. Send 클릭 또는 Ctrl + Enter 실행

예시:

항목
Type HTTP
Request Name 사용자 생성
Method POST
URL {{baseUrl}}/api/users
Body JSON

JSON Body 예시:

{
  "userId": "USER-001",
  "name": "홍길동",
  "email": "user001@example.com"
}

Header 예시:

Content-Type: application/json
Authorization: Bearer {{token}}

{{baseUrl}}, {{token}}처럼 변수를 사용하면 local, stg, prod 환경을 쉽게 전환할 수 있습니다.


5. 환경 변수와 .env 관리

Bruno의 환경 변수는 local, stg, prod처럼 실행 환경별로 다른 값을 관리할 때 사용합니다. API 요청에는 {{baseUrl}} 같은 변수명을 사용하고, 실제 값은 선택한 환경 프로필에서 가져오는 방식입니다.

요청 URL: {{baseUrl}}/api/users
선택 환경: local
실제 실행 URL: http://localhost:8080/api/users

환경 프로필 생성 순서는 다음과 같습니다.

  1. Bruno 우측 상단 환경 드롭다운 클릭
  2. Configure environments 선택
  3. Create environment 클릭
  4. 환경 이름 입력
  5. 변수명과 값 입력
  6. 저장

예시:

환경 변수명
local baseUrl http://localhost:8080
stg baseUrl https://stg-api.example.com
prod baseUrl https://api.example.com

요청에서는 다음처럼 사용합니다.

{{baseUrl}}/api/users

Bruno 공식 문서에 따르면 환경 변수는 컬렉션 내부의 /environments 디렉터리와 동기화됩니다.

예시:

bruno/
└── environments/
    ├── local.bru
    ├── stg.bru
    └── prod.bru

local.bru 예시:

vars {
  baseUrl: http://localhost:8080
  token: {{process.env.API_TOKEN}}
}

토큰, 비밀번호, API Key 같은 민감정보는 .env 파일로 분리하는 것이 좋습니다.

Bruno 공식 문서에서는 컬렉션 루트에 .env 파일을 추가해 process environment variables를 만들 수 있다고 설명합니다.

예시 구조:

bruno/
├── .env
├── .gitignore
├── bruno.json
└── environments/
    └── local.bru

.env 예시:

API_TOKEN=dev-token-value
DB_PASSWORD=local-password

Bruno에서는 스크립트나 변수에서 다음처럼 접근할 수 있습니다.

process.env.API_TOKEN

저장소에는 .env 파일을 올리지 않는 것이 좋습니다.

.gitignore 예시:

.env 파일은 로컬 실행 편의를 위한 파일로 두고, Git에는 올리지 않는 것이 안전합니다. 필요한 변수명만 .env.example에 남기면 팀원이 값은 직접 채워 사용할 수 있습니다.

.env
*.env

팀원이 필요한 값은 .env.example 파일로 공유합니다.

API_TOKEN=
DB_PASSWORD=

6. 파일 구조와 Git 연동

.bru 파일은 Bruno가 API 요청을 저장할 때 사용하는 plain text 기반 파일입니다. Bruno 화면에서 요청을 수정하면 해당 요청 파일도 함께 변경되므로, Git에서는 요청 변경사항을 텍스트 diff로 확인할 수 있습니다.

Bruno 공식 문서에 따르면 Bru 파일은 block으로 구성되며, 주요 block은 다음 세 가지입니다.

block 종류 의미
Dictionary block key-value 형식의 설정
Text block 여러 줄 텍스트, Body 또는 Tests 등에 사용
Array block 문자열 목록

간단한 .bru 파일 예시는 다음과 같습니다.

meta {
  name: 사용자 생성
  type: http
}

post {
  url: {{baseUrl}}/api/users
  body: json
}

headers {
  content-type: application/json
  Authorization: Bearer {{token}}
}

body:json {
  {
    "userId": "USER-001",
    "name": "홍길동"
  }
}

여기서 중요한 점은 .bru 파일이 사람이 읽을 수 있는 텍스트 파일이라는 점입니다. 따라서 Git에서 변경사항을 확인하기 쉽습니다.

git diff

예를 들어 URL이 변경되면 diff에서 바로 확인할 수 있습니다.

- url: {{baseUrl}}/api/user
+ url: {{baseUrl}}/api/users

다만 신규 컬렉션을 만들 때는 Bruno 공식 문서에서 OpenCollection YAML을 권장하고 있습니다. 기존 .bru 파일은 계속 지원되므로, 팀에서 이미 .bru 방식으로 시작했다면 그대로 사용해도 됩니다.

기존 .bru 컬렉션을 무리하게 YAML로 바꿀 필요는 없습니다. 다만 새 프로젝트에서는 팀 표준을 먼저 정하고, 이후 컬렉션 포맷을 일관되게 유지하는 것이 좋습니다.

Bruno 컬렉션은 Git 저장소로 관리할 수 있습니다. Git 연동은 크게 두 가지 방식으로 나눌 수 있습니다. 하나는 API 프로젝트 저장소 안에 bruno 폴더를 포함하는 방식이고, 다른 하나는 API 테스트 전용 저장소를 별도로 만드는 방식입니다.

API 소스 코드와 같은 저장소에 bruno 폴더를 두면 API 코드 변경과 API 테스트 요청 변경을 하나의 Pull Request에서 같이 리뷰할 수 있습니다.

sample-api/
├── src/
├── README.md
└── bruno/

예를 들어 사용자 생성 API 스펙이 바뀌면 다음 파일들이 한 PR에 함께 들어갈 수 있습니다.

src/main/java/.../UserController.java
bruno/users/사용자생성.bru

API 테스트만 따로 관리하고 싶다면 별도 저장소를 사용할 수 있습니다.

sample-api-bruno/
├── bruno.json
├── environments/
└── users/

CLI로 Git을 연동하려면 Bruno 컬렉션 폴더로 이동한 뒤 일반적인 Git 명령을 사용하면 됩니다.

cd C:/Workspace/Projects/sample-api/bruno

git init
git add .
git commit -m "add bruno api tests"
git remote add origin http://git.example.com/dev/sample-api-bruno.git
git push -u origin main

Bruno GUI에서도 Git을 초기화할 수 있습니다.

  1. Bruno 실행
  2. Git으로 관리할 Collection 선택
  3. 우측 상단 Git 아이콘 클릭
  4. Initialize 클릭
  5. 변경 파일 확인
  6. Commit / Push / Pull 수행

공식 문서 기준으로 Bruno 3.0.0 이상에서는 Core Git UI 기능이 무료 버전에서도 제공된다고 안내되어 있습니다.

Git 기능 제공 범위는 Bruno 버전과 에디션 정책에 따라 달라질 수 있습니다. 팀 문서에는 Bruno GUI 기준뿐 아니라 Git CLI 기준 명령도 함께 남겨두는 것이 좋습니다.

다만 팀의 Git 규칙이 이미 정해져 있다면, Bruno GUI보다 기존 Git CLI 또는 IntelliJ, VS Code Git 기능을 사용하는 편이 더 일관적일 수 있습니다.


7. 단축키, 사용 팁, 팀 운영 방식

Bruno를 Postman 대신 사용할 때는 요청 실행 단축키, 환경 선택, 민감정보 관리, 요청 이름 규칙을 팀 기준으로 맞춰두는 것이 좋습니다.

자주 쓰는 단축키는 다음과 같습니다.

기능 단축키
현재 요청 실행 Ctrl + Enter
Bruno DevTools / Console 확인 Ctrl + Shift + I
Keybindings 설정 Preferences → Keybindings

공식 문서 기준으로 Keybindings 기능은 Bruno 3.3.0 이상에서 사용할 수 있으며, Windows에서는 Ctrl, Alt, Shift 같은 modifier key를 사용할 수 있습니다.

단축키는 운영체제, Bruno 버전, 사용자 Keybindings 설정에 따라 달라질 수 있습니다. 문서에는 자주 쓰는 기본 단축키를 적되, 팀 표준 단축키가 있다면 별도로 정리하는 것이 좋습니다.

API 요청 실행 전에는 우측 상단 환경이 무엇인지 확인하는 습관이 필요합니다.

local / stg / prod

운영 환경 요청을 실수로 실행하지 않도록, 운영 환경은 별도 컬렉션으로 분리하거나 요청 이름에 [PROD] 같은 표시를 붙이는 것도 좋습니다.

운영 API 요청은 실수로 실행했을 때 실제 데이터 변경이 발생할 수 있습니다. DELETE, PUT, POST 요청은 특히 운영 환경에서 실행 전 URL, 환경 선택값, 인증 토큰을 다시 확인해야 합니다.

가장 중요한 운영 규칙은 민감정보를 Git에 올리지 않는 것입니다.

.env
*.env

반대로 팀원이 어떤 환경 변수가 필요한지 알 수 있도록 예시 파일은 커밋합니다.

.env.example

예시:

API_TOKEN=
DB_PASSWORD=

API 요청이 많아지면 이름 규칙이 중요합니다.

추천 예시는 다음과 같습니다.

01-사용자생성
02-사용자조회
03-사용자수정
04-상태확인

또는 HTTP Method를 앞에 붙일 수도 있습니다.

POST 사용자 생성
GET 사용자 조회
PUT 사용자 수정
DELETE 테스트 데이터 삭제

기능 기준으로 폴더를 나누면 관리하기 쉽습니다.

bruno/
├── auth/
├── users/
├── products/
└── admin/

팀에서 Bruno를 사용할 때는 API 요청 파일을 개인 PC에만 두지 않고, API 소스 코드와 같은 변경 관리 흐름에 포함시키는 것이 중요합니다.

브랜치 전략을 사용한다면 Bruno 요청 파일도 같은 흐름으로 관리하는 것이 좋습니다.

개발 브랜치   : 개발 API 요청 수정
검증 브랜치   : 검증 환경 요청
운영 브랜치   : 운영 기준 요청

Pull Request에서는 아래 파일도 리뷰 대상에 포함합니다.

bruno/**/*.bru
bruno/**/*.yaml
bruno/environments/*.bru

PR 리뷰에서는 API 코드 변경뿐 아니라 Bruno 요청 파일 변경도 함께 확인하는 것이 좋습니다. 요청 예제가 실제 API 스펙과 어긋나면 테스트 문서가 빠르게 낡아질 수 있습니다.

리뷰 포인트는 다음과 같습니다.

1. URL 경로가 실제 API와 맞는가?
2. HTTP Method가 맞는가?
3. Header가 누락되지 않았는가?
4. Body 예시가 최신 스펙과 맞는가?
5. 운영 토큰이나 비밀번호가 포함되지 않았는가?
6. 환경 변수 이름이 일관적인가?

8. 전환 후 확인 체크리스트

Postman에서 Bruno로 전환한 뒤 아래 항목을 확인합니다.

[설치]
- Windows 11 또는 Ubuntu 24.04에 Bruno 설치 완료
- Bruno 실행 확인

[마이그레이션]
- Postman Collection Export 완료
- Postman Environment Export 완료
- Bruno Import 완료
- 요청 URL, Method, Header, Body 확인
- Script / Test 동작 확인

[환경 변수]
- local, stg, prod 환경 프로필 생성
- baseUrl 환경 변수 등록
- token 등 민감정보 .env 분리
- .env .gitignore 등록
- .env.example 작성

[Git]
- bruno 폴더 Git 관리 대상 포함
- 첫 커밋 생성
- 원격 저장소 push 확인
- PR에서 API 요청 변경 diff 확인

[운영]
- 운영 토큰 커밋 여부 확인
- `.env`, 토큰, 비밀번호, API Key가 Git에 포함되지 않았는지 확인
- prod 환경 요청 실행 실수 방지
- 팀 요청 이름 규칙 정리

결론

Postman은 강력한 API 플랫폼이지만, API 요청을 소스 코드와 함께 Git으로 관리하려는 팀에서는 Bruno가 좋은 대안이 될 수 있습니다.

Bruno의 핵심 장점은 API 요청 컬렉션을 로컬 파일로 저장하고, Git을 통해 변경 이력과 협업을 관리할 수 있다는 점입니다. GitHub, GitLab, Gitea 같은 저장소를 이미 사용하고 있다면 API 요청도 코드처럼 브랜치, 커밋, Pull Request 흐름에 포함시킬 수 있습니다.

다만 Bruno는 Postman의 모든 기능을 그대로 대체하는 도구라기보다, 로컬 파일과 Git 중심의 API 테스트 도구로 이해하는 것이 정확합니다. Postman의 고급 협업 기능이나 일부 스크립트 기능을 많이 사용하고 있다면 가져온 뒤 반드시 동작을 검증해야 합니다.

Bruno는 Postman의 모든 기능을 동일하게 복제하는 도구가 아닙니다. Collection, Environment, Script, Test, Auth 설정은 Import 후 실제 요청을 실행해 확인해야 합니다.

실무에서는 다음 방식이 가장 안전합니다.

1. Windows 11 또는 Ubuntu 24.04에 Bruno를 설치한다.
2. 자주 사용하는 Postman 컬렉션부터 Bruno로 가져온다.
3. local/stg 환경 변수를 먼저 정리한다.
4. 민감정보는 .env로 분리한다.
5. bruno 폴더를 Git에 포함한다.
6. API 코드 변경 PR에 Bruno 요청 변경도 함께 포함한다.

이렇게 운영하면 API 요청 문서와 테스트 요청이 개인 PC나 특정 도구 안에만 남지 않고, 팀의 Git 저장소에서 함께 관리되는 구조를 만들 수 있습니다.

전환 초기에는 모든 API를 한 번에 옮기기보다 로그인, 인증, 상태 확인, 자주 쓰는 조회 API부터 옮기는 것이 안전합니다. 이후 팀 사용 방식이 안정되면 생성, 수정, 삭제 요청까지 단계적으로 확장하는 편이 좋습니다.


참고 자료

반응형

댓글