Semaphore v2.16은 오픈 소스 버전에서 내장된 Swagger API 문서를 제공하고, 스케줄 및 통합을 위한 작업 매개변수를 도입하며, SQLite 지원을 추가합니다.
목차
-
기능
-
내장된 Swagger API 문서
Semaphore의 인터페이스 내에서 포괄적인 API 문서에 직접 접근하여 외부 도구 및 CI/CD 파이프라인과의 원활한 통합을 가능하게 합니다.
자세히 알아보기 » -
스케줄 및 통합을 위한 작업 매개변수
스케줄 및 통합에 의해 트리거된 작업에 사용자 정의 매개변수를 정의하고 전달하여 보다 유연하고 동적인 자동화 워크플로를 가능하게 합니다.
자세히 알아보기 » -
SQLite 지원
가벼운 파일 기반 데이터베이스 엔진을 사용하여 Semaphore를 원활하게 실행할 수 있어 설정 및 로컬 개발이 더 쉬워집니다.
자세히 알아보기 » -
BoltDB가 더 이상 지원되지 않음
BoltDB는 이제 SQLite에 의해 대체되어 보다 강력하고 유지 관리가 용이한 데이터베이스 옵션을 제공합니다.
자세히 알아보기 » -
동일한 템플릿에 대한 병렬 작업
이제 동일한 템플릿에서 여러 개의 동시 작업을 실행할 수 있어 자동화 워크플로의 처리량과 유연성이 향상됩니다.
자세히 알아보기 » -
HashiCorp Vault 지원 (PRO)
자세히 알아보기 »
-
기능
내장된 Swagger API 문서 (PRO)
Semaphore 사용자는 이제 통합된 Swagger UI 인터페이스를 통해 포괄적인 API 문서에 접근할 수 있습니다. 이 강력한 기능은 DevOps 팀이 다음을 수행할 수 있게 합니다:
- 사용 가능한 모든 API 엔드포인트 탐색
- 상세한 매개변수 사양 및 응답 형식 보기
- 인터페이스에서 직접 테스트 요청 실행
- 외부 도구 및 CI/CD 파이프라인과의 통합 간소화
- 사용자 정의 자동화 솔루션 개발 가속화
내장된 Swagger 문서는 Semaphore를 기존 DevOps 도구 체인 및 사용자 정의 자동화 워크플로와 통합하는 것을 그 어느 때보다 쉽게 만들어 줍니다.

스케줄 및 통합을 위한 작업 매개변수
Semaphore는 이제 스케줄 및 통합을 통해 실행되는 작업에 매개변수를 정의하고 전달할 수 있도록 허용합니다. 이 향상된 기능은 Semaphore의 모든 자동화 진입점에서 작업 매개변수의 전체 기능을 활용할 수 있게 해줍니다:
- 환경 이름, Git 브랜치 또는 기능 플래그와 같은 변수를 Ansible 플레이북 및 Terraform 계획에 직접 주입합니다.
- 코드를 중복하지 않고 여러 시나리오에서 동일한 템플릿을 재사용합니다.
- 트리거되는 방식에 따라 적응하는 동적이고 맥락 인식 워크플로를 구축합니다.

SQLite 지원
Semaphore는 이제 SQLite를 데이터베이스 엔진으로 지원합니다. 이 가벼운 파일 기반 옵션은 외부 PostgreSQL 인스턴스를 관리하는 것이 과도한 환경에서 Semaphore를 쉽게 실행할 수 있게 해줍니다.
주요 장점은 다음과 같습니다:
- 외부 종속성 없음 – 모든 것이 애플리케이션과 함께 있는 단일
.sqlite
파일에 저장됩니다. - 로컬 개발 및 소규모 팀에 이상적 – 추가 서비스 없이 노트북이나 CI 내에서 전체 Semaphore 인스턴스를 신속하게 시작할 수 있습니다.
- 컨테이너화된 환경 및 엣지 환경에서 빠른 설정 – 데모, PoC 배포 및 일시적인 테스트 환경에 적합합니다.
- 원활한 마이그레이션 경로 – SQLite로 시작한 후 나중에 내장된 내보내기/가져오기 명령을 사용하여 PostgreSQL로 이동할 수 있습니다.
BoltDB가 더 이상 지원되지 않음
BoltDB는 Semaphore의 초기 버전부터 내장된 키-값 저장소로 사용되었습니다. v2.16부터 공식적으로 지원되지 않음으로 전환되며 향후 주요 릴리스에서 제거될 예정입니다.
변경 이유는 무엇인가요?
- 단일 작성자 제한 – BoltDB는 동시에 하나의 작성자만 허용하므로 바쁜 설치에서 확장성이 제한됩니다.
- 마이그레이션 마찰 – 데이터 구조의 발전은 맞춤형 애플리케이션 코드를 요구합니다.
SQLite는 이제 BoltDB를 기본 저장 엔진으로 대체합니다(자세한 내용은 SQLite 지원 섹션 참조).
기존 사용자에 대한 영향
- 현재 BoltDB 설치는 계속 실행되지만 새로운 기능은 Bolt에 대해 테스트되지 않습니다.
- 새로운 설치는 기본적으로 SQLite로 설정되며 더 이상 새로운 BoltDB 데이터베이스를 생성할 수 없습니다.
- BoltDB에 대한 공식 지원은 이 릴리스 후 약 6개월 후에 중단됩니다.
- 마이그레이션 스크립트는 곧 제공될 예정입니다.
동일한 템플릿에 대한 병렬 작업
Semaphore는 이제 동일한 템플릿에서 여러 개의 동시 작업을 실행할 수 있도록 하여 높은 수요의 자동화 워크플로에 대한 처리량을 크게 향상시킵니다. 기본적으로 동일한 템플릿의 작업은 리소스 충돌을 방지하고 예측 가능한 실행 순서를 보장하기 위해 순차적으로 대기열에 추가됩니다.
작동 방식:
- 순차 실행 (기본값): 동일한 템플릿의 작업은 대기열에 추가되어 차례로 실행되며, 리소스 충돌을 방지하고 예측 가능한 실행 순서를 유지합니다.
- 병렬 실행: 템플릿 설정에서 “병렬 작업 허용” 체크박스를 활성화하여 동일한 템플릿의 여러 인스턴스를 동시에 실행할 수 있습니다.
이 기능은 롤링 배포, 병렬 환경 업데이트 또는 여러 개발자가 동일한 자동화 워크플로를 동시에 실행해야 하는 시나리오에 특히 유용합니다.

HashiCorp Vault 지원 (PRO)
Semaphore는 이제 안전한 키 관리를 위해 HashiCorp Vault와의 네이티브 통합을 제공합니다. Semaphore UI에서 비밀을 생성하거나 업데이트할 때, 내장 데이터베이스에 저장할지 Vault 인스턴스에 저장할지를 선택할 수 있습니다. 이를 통해 보안 요구 사항 및 기존 인프라에 따라 민감한 자격 증명을 관리할 수 있는 유연성을 제공합니다.
주요 이점:
- 유연한 저장: 비밀마다 Semaphore 데이터베이스에 자격 증명을 저장할지 Vault에 저장할지를 선택할 수 있습니다.
- 향상된 보안: Vault에 저장된 비밀은 Semaphore 데이터베이스에 저장되지 않으며 필요할 때만 접근됩니다.
- 중앙 집중식 관리: Vault의 도구를 사용하여 외부에 저장된 비밀을 관리, 회전 및 감사할 수 있습니다.
- 원활한 통합: 최소한의 구성으로 Semaphore를 기존 Vault 배포에 쉽게 연결할 수 있습니다.
- 접근 제어: Vault의 세분화된 정책을 활용하여 특정 비밀에 접근할 수 있는 사용자 및 프로젝트를 제어합니다.
이 기능은 Semaphore PRO에서 제공되며, 엄격한 보안 요구 사항이 있는 조직이나 이미 Vault를 사용하여 비밀 관리를 하는 조직에 적합합니다.
