통합
Deplite는 외부 시스템과 다음과 같이 통합돼요.
S3 호환 스토리지
워크플로우 입출력 파일을 보관하기 위한 스토리지 바인딩이에요.
AWS S3, Cloudflare R2, MinIO 등 S3 호환 서비스를 모두 사용할 수 있어요.
바인딩 생성
대시보드의 Storage → New binding에서 다음을 입력해요.
| 필드 | 예 |
|---|---|
| Name | prod-artifacts |
| Endpoint | https://s3.amazonaws.com |
| Region | ap-northeast-2 |
| Bucket | myapp-deplite |
| Access Key | AKIA... |
| Secret Key | (마스킹) |
파일 업로드·다운로드 방법
세 가지 중 편한 방법을 쓰세요.
| 방법 | 설명 | 링크 |
|---|---|---|
| SDK | 앱·서버 코드 안에서 한 줄로 처리. presign·PUT·complete를 라이브러리가 묶어줌 | SDK — 파일 |
| GitHub Actions | CI에서 코드 없이 처리. mode: upload / download / delete | Files Action |
| REST API | 그 외 언어/환경에서 직접 호출 | 엔드포인트 — File Storage |
토큰 권한
storage 스코프 API Token은 binding별로 read, write, delete를 세분화할 수 있어요.
대시보드의 API Tokens → ”+ Create”의 ScopeEditor에서 binding과 permission을 선택해서 발급해요.
{
"type": "storage",
"bindingIds": ["binding-uuid"],
"permissions": ["read", "write"]
}Slack
설치
대시보드의 Chat Integrations → Slack에서 Connect 버튼을 누르세요.
워크스페이스 승인 → 콜백 자동 처리 → 연결 완료.
OAuth 승인 화면에서 Slack이 요청하는 권한(bot scopes)은 다음과 같아요.
워크스페이스 관리자가 검토할 때 참고해주세요.
| Scope | 용도 |
|---|---|
chat:write | 알림·결과 메시지를 채널에 게시 |
commands | /deplite ... 슬래시 명령 수신 |
app_mentions:read | @deplite ... 멘션 트리거 수신 |
channels:read | 트리거 설정 시 공개 채널 목록 조회 |
groups:read | 트리거 설정 시 비공개 채널 목록 조회 |
추가 권한은 요청하지 않으며, 메시지 본문(chat:read 등) 접근 권한은 받지 않아요.
Chat 트리거 (메시지로 실행)
{
"type": "slack",
"chatTeamId": "T0123",
"chatChannelId": "C0123",
"chatKeyword": "deploy"
}사용 방식:
- 앱 멘션:
@deplite deploy - 슬래시:
/deplite deploy
Notify (실행 결과 알림)
어떤 트리거든 결과 알림을 받을 수 있어요.
{
"notifyProvider": "slack",
"notifyTeamId": "T0123",
"notifyChannelId": "C0456",
"notifyOn": "failure"
}notifyOn: always / failure / success / none
메시지 예
[SUCCESS] Job #abc — deploy-prod [SUCCESS]
Ref: main · Duration: 2m 34s · Exit Code: 0[FAILED] Job #def — deploy-prod [FAILED]
Ref: feature/x · Duration: 12s · Exit Code: 1
Error: timeout exceeded in step "Push"Discord
Slack과 거의 동일한 모델이에요.
type: discord로 만들고, chatTeamId에 guild ID, chatChannelId에 채널 ID를 입력해주세요.
GitHub Actions
CI 워크플로우에서 Deplite 트리거를 호출하거나 파일을 주고받을 때는 공식 액션을 쓰세요.
Inputs/Outputs와 조합 레시피(매트릭스 배포·reusable workflow·PR 코멘트 등)는 전용 문서에 정리되어 있어요.
Slack 알림 메시지 커스텀
기본 notify 템플릿 대신 더 풍부한 메시지를 보내고 싶다면, 워크플로우 마지막 step에서 직접 Slack webhook으로 호출하면 돼요.
steps:
- name: deploy
run: ./deploy.sh
- name: notify
run: |
curl -X POST "$SLACK_WEBHOOK" -H 'Content-Type: application/json' -d '{
"text": "Deploy 완료: ref='$DEPLITE_PARAM_REF', actor='$DEPLITE_PARAM_ACTOR'"
}'
continue-on-error: trueSlack Block Kit 형태로도 자유롭게 보낼 수 있어요.