정기 작업을 할 일 목록에서 덜어내기

Ansible 플레이북, 인프라 코드, 스크립트를 예약하세요. 패치, 인증서 갱신, 백업을 하나의 공유 예약에 보관하고 실행마다 결과를 유지합니다.

입력인프라
예약새 예약
주간 서비스 점검0 2 * * 0Staging service preflight
인증서 갱신0 3 * * *Renew public TLS certificates
데이터베이스 백업 점검0 6 * * 1-5Verify production backups
주간 기록 세 행은 예시입니다. 선택된 작업 22 로그 행은 Semaphore 2.19.12에서 일회용 로컬 스테이징 서비스 엔드포인트 세 개에 실행한 일회성 Ansible 사전 점검 기록을 바탕으로 했습니다. 이 프로토타입은 작업을 실행하지 않습니다.

cron 항목은 있습니다. 정기 업무는 아직 수행되고 있나요?

패치 시간대와 인증서 갱신은 잊기 쉽습니다. 자격 증명이 바뀌거나 호스트에 도달할 수 없으면 잘 작동하던 작업도 실패할 수 있습니다. 타이머만으로 무엇이 실행되었고 무엇을 확인해야 하는지 팀에 알 수는 없습니다.

예약과 결과를 함께 보관. 저장된 작업 템플릿을 예약하고 다음 실행을 확인하며 기록에서 각 실행을 여세요. 시작하는 작업과 함께 실행 시점을 확인할 수 있습니다.

작업을 예약하고 모든 실행 추적

반복 업무를 팀의 일상에 통합

팀이 이미 사용하는 작업 예약

리포지토리, 인벤토리, 자격 증명을 재사용 가능한 하나의 작업 템플릿에 보관하세요.

작업 템플릿

예약 실행마다 확인

각 실행에는 고유한 상태, 타임스탬프, 작업 출력이 있습니다.

실행 기록 및 로그

예약 작업 실패 시 알림 전송

패치, 인증서 갱신 등 반복 작업의 알림 채널과 이벤트를 선택하세요.

알림

일상 자동화를 예측 가능하게

이미 테스트한 작업 예약

예약은 기존 작업 템플릿에 실행 시각만 추가합니다. 리포지토리, 플레이북이나 스크립트, 대상 설정, 자격 증명 참조, 허용하는 입력은 템플릿에 남습니다. 실제로 이 순서가 중요합니다. 먼저 수동으로 실행하고 출력을 확인한 다음 같은 정의에 실행 주기를 설정하세요. 이후 템플릿을 편집하면 향후 모든 실행이 바뀌므로 실행 코드와 동일하게 템플릿 변경을 검토하세요.

패치, 인증서 갱신, 백업 점검

이런 작업은 조용히 작동을 멈춥니다. 테스트된 Ansible 패치 플레이북, TLS 갱신 스크립트, 백업 검증을 예약하면 실행 주기가 한 엔지니어의 crontab이 아닌 프로젝트 일부가 됩니다. Semaphore는 작업을 시작하고 결과를 기록하지만 변경을 검증하고 동작하지 않을 때 0이 아닌 값으로 종료하는 책임은 플레이북이나 스크립트에 있습니다. 팀이 확인하는 채널에 실패를 보내 인증서 만료 전에 갱신 누락이 드러나도록 하세요.

cron 표현식, 프리셋, 서버 시간대

프리셋 간격을 선택하거나 표준 5필드 cron 표현식을 작성하세요. 편집기는 표현식 옆에 설정된 예약 시간대를 표시하고 해당 시간대와 브라우저 현지 시간 모두로 다음 실행을 미리 보여 줍니다. 표현식이 의도와 다른지 가장 빠르게 확인하는 방법입니다. 관리자가 서버 수준에서 예약 시간대를 설정하며 기본값은 UTC입니다. 예약별 시간대 선택기는 없습니다. 일광 절약 시간제를 사용하는 시간대라면 유지보수 시간에 의존하기 전에 시계 변경 전후의 예상 실행을 확인하세요.

예약 실행에 필요한 값 제공

예약은 브랜치, Ansible 호스트 제한, 설문 항목처럼 템플릿이 공개한 프롬프트로 값을 전달할 수 있습니다. 실행 주기를 활성화하기 전에 변경을 허용할 값을 정하고, 해당 조합을 수동으로 테스트한 뒤 예약에 저장하세요. 공개하는 입력은 좁게 유지하세요. 더 작은 대상 범위로 검토한 작업을 예약을 통해 더 넓은 범위로 실행할 수 있게 해서는 안 됩니다.

실패한 실행을 찾아 조사

각 실행은 자체 상태, 시작 시각, 소스 맥락, 출력을 갖는 일반 작업이 됩니다. 따라서 현재 템플릿이 아니라 실제 발생한 실행부터 조사할 수 있습니다. 지연 진단 시 계획된 시작 시각과 관찰된 시작 시각을 비교하세요. 놓친 실행 창에 대한 자동 재시도나 보충 실행은 없으므로 복구는 의도적인 결정입니다. 원래 출력을 살핀 다음 새 실행을 시작하며, 이때 호스트 제한을 더 좁히는 경우가 많습니다.

무인 실행용 알림 선택

예약은 템플릿에 설정된 알림을 상속하거나 다른 프로젝트 알림 모음을 사용할 수 있습니다. 무인 실행의 실패는 정기 업무를 모니터링하는 팀으로 보내고, 수동 실행에는 별도 알림을 선택할 수 있습니다.

일회성 유지보수 실행 계획

유지보수 점검이나 임시 환경 정리처럼 선택한 시각에 한 번 실행할 작업에는 일회성 예약을 사용하세요. 정기 업무에는 반복 cron 예약을 유지합니다. 둘 다 저장된 작업 템플릿을 시작하고 확인 가능한 일반 실행 기록을 남깁니다.

FAQ

Semaphore로 Ansible, Terraform, OpenTofu, 스크립트를 예약할 수 있나요?

네. Semaphore 예약은 애플리케이션이 Ansible 플레이북, Terraform 또는 OpenTofu 설정, Bash, Python, PowerShell 스크립트 중 무엇을 실행하든 기존 작업 템플릿을 시작합니다. 먼저 템플릿에서 리포지토리, 자격 증명, 대상, 실행 환경을 설정하세요. 그다음 예약에 시각과 지원 입력을 추가합니다. 각 실행은 별도 예약 스크립트 모델이 아니라 일반 작업 기록을 유지합니다.

cron 표현식이나 사전 설정된 간격을 사용할 수 있나요?

네. Semaphore는 일반 예약 프리셋과 더 구체적인 시각을 위한 표준 5필드 cron 표현식을 지원합니다. 저장 전에 다음 실행 미리보기로 의도대로인지 확인하세요. 예약은 기존 작업 템플릿을 시작하며 Git 리포지토리의 플레이북, Terraform 설정, 스크립트를 대체하지 않습니다. 반복 실행이 같은 인프라를 건드릴 수 있다면 작업을 멱등하게 유지하세요.

서버 패치 및 TLS 인증서 갱신을 예약할 수 있나요?

네. 작업에 대해 이미 테스트된 작업 템플릿이 있다면 가능합니다. 예를 들어 주간 Ansible 패치 플레이북이나 인증서 갱신 스크립트를 예약으로 시작할 수 있습니다. Semaphore는 시작 시점을 정하고 실행 기록을 보관하지만 플레이북이나 스크립트가 업데이트, 결과 검증, 정확한 실패 보고를 수행해야 합니다. 다음 패치 시간이나 인증서 만료 전에 실패한 실행을 처리해야 한다면 알림을 추가하세요.

예약은 어떤 시간대를 사용하나요?

예약은 Semaphore 서버에 설정된 시간대를 사용하며 기본값은 UTC입니다. 표시된 시간대와 다음 실행 미리보기는 표현식을 설명하는 데 도움이 되지만 예약별로 분리된 시간대 설정은 아닙니다. 특히 엔지니어가 여러 리전에서 일한다면 실행 주기와 함께 서버 시간대를 문서화하세요. 일광 절약 시간제를 사용하는 시간대라면 유지보수 시간에 의존하기 전에 시계 변경 전후의 예상 실행을 확인하세요.

예약에 다른 브랜치, 인벤토리, 호스트 제한을 지정할 수 있나요?

예약은 템플릿에서 활성화한 프롬프트로 지원되는 작업 매개변수를 제공할 수 있습니다. 먼저 변경을 허용할 값을 정하고 해당 입력만 활성화하세요. 의도한 조합을 수동으로 테스트한 다음 예약의 재정의 값을 저장합니다. 재사용할 실행 설정은 계속 템플릿이 보관합니다. 예약이 작업의 입력 설계를 우회하거나 대상 범위를 모르게 확장하는 수단이 되어서는 안 됩니다.

예약 작업이 간격보다 오래 걸리면 어떻게 되나요?

예약된 작업은 일반 작업 실행 모델과 해당 동시 실행 및 용량 설정을 사용합니다. 빈번한 타이머가 같은 대상의 겹치는 변경을 안전하게 만들지는 않습니다. 예상 작업 시간과 간격을 비교하고 자동화 자체의 잠금이나 멱등 동작을 고려하세요. 자원 집약적이거나 파괴적인 작업을 짧은 주기로 실행하기 전에 해당 배포의 대기 및 중복 실행 동작을 테스트하세요.

실패한 예약 실행은 어디서 찾나요?

프로젝트 작업 기록을 열고 조사할 실행을 찾으세요. 재실행을 결정하기 전에 상태, 실행 시각, 소스 맥락, 도구 출력을 검토하세요. 지연을 진단할 때 계획된 시작과 관찰된 시작을 비교하세요. 알림은 중요한 결과를 설정된 채널에 전달하지만 자세한 실행 기록은 작업에 남습니다.

예약에 자동 재시도와 누락 실행 보충이 포함되나요?

설치된 릴리스에 문서화되지 않은 재시도, 누락분 보충, 업무일 달력 동작을 가정하지 마세요. 예약은 작업 시작 시점을 정의하며 중단 후 복구는 별도로 설계하고 테스트할 요구 사항입니다. 놓친 백업이나 유지보수 점검을 늦게 실행할지, 건너뛸지, 엔지니어의 결정을 요구할지 정하세요. 이는 작업과 대상 환경에 미치는 영향에 따라 달라집니다.

워크플로를 예약 실행할 수 있나요?

현재 예약 폼은 워크플로가 아닌 작업 템플릿을 선택합니다. 타이머로 전체 워크플로를 시작하려면 외부 스케줄러에서 Pro 워크플로 API를 호출하거나 Semaphore에 예약한 스크립트 작업 템플릿에서 호출하세요. 이후 워크플로는 설정된 의존 관계, 승인, 성공 및 실패 경로를 따릅니다. 진행 상황은 별도 워크플로 실행으로 기록됩니다. 워크플로 및 워크플로 API 문서를 보세요.