하나의 UI에서 여러 네트워크의 작업 실행

프로젝트 러너로 별도 네트워크에 접근하고 실행 용량을 추가하며 작업에 필요한 도구를 제공하세요. 작업 기록과 결과는 Semaphore에 보관합니다.

한 실행 호스트가 모든 작업에 맞을 수는 없습니다

작업마다 필요한 네트워크 접근, 도구, 용량이 다릅니다. 모두 애플리케이션 서버에서 실행하면 같은 제약을 공유하게 됩니다.

각 작업에 필요한 환경 제공

각 작업의 실행 위치를 선택하고 도구를 준비하며 Semaphore 서버와 독립적으로 용량을 추가하세요.

대상 시스템 접근인벤토리 가까이에 러너 배치
작업에 필요한 도구 사용실행 환경 준비
실행 용량 추가워크로드 증가에 맞춰 러너 확장

러너를 설정하고 작업 라우팅

각 작업의 실행 방식 선택

러너는 작업이 실행되는 위치를 결정합니다. 실행기는 작업에 호스트 환경을 사용할지, 컨테이너에서 시작할지 결정합니다.

로컬

러너 호스트에 설치된 도구와 의존 요소를 사용하여 해당 호스트에서 직접 실행합니다.

Docker

Pro에서는 컨테이너에서 작업을 실행하고 작업 템플릿별 실행기 이미지를 선택하세요.

Kubernetes

Enterprise에서는 필요한 이미지와 의존 패키지를 갖춘 Kubernetes 파드에서 작업을 실행하세요.

작업에 필요한 실행 설정 구축

템플릿에서 러너 선택

준비된 작업을 태그로 라우팅하고 실행기 이미지를 선택하세요.

작업 템플릿

제어 영역의 가용성도 유지

작업 실행과 애플리케이션 가용성을 배포의 별도 부분으로 확장하세요.

고가용성

인프라에 맞춘 실행

인벤토리 가까이에 실행 배치

대상이 있는 리전이나 네트워크에서 자동화를 실행하세요. 러너는 프라이빗 서브넷 접근을 제공하거나 관리 시스템과의 거리를 줄이거나 팀 전용 실행 용량을 제공할 수 있습니다. 네트워크 배치, 러너 태그, 실행기는 설정의 서로 다른 부분을 해결합니다.

러너가 연결을 시작하게 하기

러너는 Semaphore 서버에 연결하여 폴링합니다. 서버가 러너로 인바운드 연결을 시작할 필요는 없습니다. 러너가 Semaphore와 작업에 필요한 대상 및 소스에 접근할 수 있다면 NAT 뒤의 사이트나 프라이빗 서브넷에 유용합니다.

작업 범위 및 라우팅 선택

전역 러너는 여러 프로젝트에서 사용할 수 있고 프로젝트 러너는 하나의 프로젝트에 속합니다. 지원 태그는 템플릿 요구 사항을 러너의 기능이나 위치와 연결합니다. 태그 요구 사항이 없는 작업에는 기본 러너 설정이 적용됩니다. 적합한 러너가 없으면 작업은 다른 곳에서 조용히 실행되는 대신 대기할 수 있습니다.

위치와 실행 경계 분리

로컬 실행은 러너 호스트의 프로세스 맥락에서 동작하며 해당 권한을 사용합니다. 지원되는 Docker 및 Kubernetes 실행기는 컨테이너 또는 파드 경계를 도입하지만 각각 설정과 에디션 요구 사항이 있습니다. 실제 경계는 마운트, 네트워크, 권한, 이미지가 결정하며 러너라는 말만으로 격리가 보장되지는 않습니다.

실행 용량 독립 확장

추가 러너는 모든 작업을 웹 애플리케이션 호스트에서 실행하지 않고도 용량이나 도달 범위를 늘릴 수 있습니다. 동시 작업 설정과 폴링은 운영 특성에 영향을 줍니다. 고급 일회성 패턴에서는 등록, 할당 훅, 작업 후 종료하는 러너를 결합할 수 있지만 해당 수명 주기를 지원하는 배포 자동화가 필요합니다.

단절된 네트워크에서 자동화 실행

폐쇄망 내부에서 운영해야 한다면 Enterprise 오프라인 라이선스를 사용하세요. Semaphore와 러너를 환경 내부에 두고 공개 네트워크 접근 없이 필요한 Git 리포지토리, 실행기 이미지, 도구 의존 요소를 제공하세요.

실행 환경을 의도적으로 선택

로컬 실행은 러너 호스트의 프로세스 권한을 사용합니다. 작업에 별도 컨테이너나 파드가 필요하면 작업에 적합한 이미지, 마운트, 네트워크 설정을 갖춘 Docker 또는 Kubernetes 실행기를 사용하세요.

작업에 자격 증명 제공

작업에는 템플릿이 참조하는 자격 증명과 설정이 필요합니다. Key Store의 환경 및 파일 소스는 값을 실행에 사용하기 전에 Semaphore 서버에서 해석됩니다.

FAQ

전역 러너와 프로젝트 러너는 어떻게 다른가요?

전역 러너는 인스턴스 전체에서 사용하도록 등록되며 프로젝트 러너는 특정 프로젝트에 속합니다. 전역 분산 실행은 모든 플랜에서 제공되며, 프로젝트 범위와 관련 라우팅 기능은 요금표에 나온 대로 Pro와 Enterprise에 포함됩니다. 운영 책임과 환경 접근에 따라 범위를 선택하세요. 프로젝트 전용 러너로 배치를 명확히 할 수 있지만 실행 프로세스의 접근 범위는 여전히 런타임 설정이 결정합니다.

Semaphore 서버에서 러너로 인바운드 연결이 필요한가요?

러너는 Semaphore에 연결하여 작업을 폴링함으로써 통신을 시작합니다. 서버가 러너로 인바운드 연결을 시작하지 않아도 NAT 뒤나 프라이빗 네트워크 내부에 배치할 수 있습니다. 러너는 여전히 Semaphore 엔드포인트와 작업에 쓰이는 리포지토리, 패키지 소스, 외부 서비스, 대상에 도달해야 합니다. 경로를 각각 확인하세요. 아웃바운드 폴링이 다른 네트워크 요구 사항까지 없애지는 않습니다.

작업이 올바른 네트워크나 도구를 갖춘 러너에 어떻게 도달하나요?

지원되는 러너 태그, 템플릿 요구 사항, 기본 러너 설정으로 적합한 실행 환경에 작업을 연결하세요. 의미 있는 기능이나 위치로 태그 이름을 지정하고 가용성과 용량을 확인 가능하게 유지합니다. 적합한 러너가 준비되지 않으면 작업은 대기할 수 있습니다. 같은 경로를 프로덕션 변경에 사용하기 전에 영향 없는 작업으로 테스트하고 작업 상세에서 실행 러너를 확인하세요.

원격 러너에서 실행하면 각 작업이 격리되나요?

그 자체로는 아닙니다. 로컬 실행기는 러너 호스트의 프로세스 맥락에서 해당 환경의 접근 권한으로 실행됩니다. Docker나 Kubernetes 실행은 다른 경계를 도입하지만 마운트, 권한, 네트워크, 이미지 내용은 여전히 중요합니다. 배치와 실행 모드를 별도로 결정하세요. 러너나 컨테이너라는 말을 완전한 보안 보장으로 여기지 말고 필요한 의존 요소를 준비하고 호스트 접근을 검토하세요.

작업마다 다른 도구 체인 버전을 사용할 수 있나요?

선택한 실행 경로에 각 작업이 요구하는 런타임을 준비하세요. 지원되는 실행기 이미지 설정으로 공유 호스트의 모든 작업을 바꾸지 않고도 특정 Ansible, Terraform, Python 등의 의존 요소 모음을 명시할 수 있습니다. 관련 실행기 옵션은 설치된 버전과 에디션을 확인하세요. 그다음 관리자 대화형 세션에서만 테스트하지 말고 실제 환경 안에서 리포지토리 접근, 패키지, 대상 연결을 테스트하세요.

러너를 추가하면 Semaphore 자체가 고가용성이 되나요?

러너 추가는 작업 실행 용량이나 위치를 확장 또는 변경하는 것이며, 애플리케이션 제어 영역을 고가용성으로 만들지는 않습니다. 애플리케이션 HA는 문서화된 공유 데이터베이스, Redis, 부하 분산 아키텍처로 여러 Semaphore 노드를 조정합니다. 두 기능은 서로 보완할 수 있지만 다른 문제를 해결합니다. 확장할 부분을 선택하기 전에 병목이 실행 용량, 네트워크 도달 범위, UI 및 API 접근 중 어디에 있는지 판단하세요.

필요한 태그의 온라인 러너가 없으면 어떻게 되나요?

사용 가능한 러너가 템플릿의 라우팅 요구 사항과 일치할 때까지 작업은 대기 상태에 머뭅니다. 러너 태그, 활성화 플래그, 최근 연결 상태를 확인한 뒤 실행 용량을 확인하세요. 태그는 선택 규칙이므로 태그가 없거나 다른 태그의 러너가 해당 작업을 자동으로 맡지는 않습니다.

개별 작업 템플릿에 Docker 이미지를 선택할 수 있나요?

네. 러너가 Pro의 Docker 실행기나 Enterprise의 Kubernetes 실행기를 사용할 때 템플릿이 기본 작업 이미지를 재정의할 수 있습니다. 이를 통해 작업이 자동화에 필요한 도구 체인을 사용합니다. 이미지에 필요한 앱과 의존 요소를 준비하세요. 이 필드는 로컬 실행기 동작을 변경하지 않습니다. 템플릿 실행 설정 보기.