docs: skill-slack 배포 지침서 구현 완료
- thread_ts 버그 수정 완료 - 배포 명령 구체화 - 테스트 명령 업데이트
This commit is contained in:
parent
38ed2c28a3
commit
76faf1d871
@ -7,6 +7,7 @@ skill-slack의 역할을 로빙 철학(스킬=도구, 판단 금지)에 맞게
|
||||
- **포트**: 8502
|
||||
- **서버**: 51124 (192.168.219.52)
|
||||
- **경로**: /home/admin/ivada_project/skill-slack
|
||||
- **설정파일**: skill-slack/docker-compose.yml
|
||||
|
||||
---
|
||||
|
||||
@ -52,12 +53,13 @@ skill-slack의 역할을 로빙 철학(스킬=도구, 판단 금지)에 맞게
|
||||
|
||||
## 환경변수 설정
|
||||
|
||||
### 기본 토큰 (임시)
|
||||
### 현재: 환경변수 방식 (임시)
|
||||
- **SLACK_BOT_TOKEN**: 환경변수로 설정
|
||||
- **SERVICE_API_KEY**: API 인증용
|
||||
- **SERVICE_API_KEY**: 51124 서버 .env에서 확인
|
||||
|
||||
### 올바른 방식
|
||||
- rb8001이 요청 시마다 토큰 전달:
|
||||
### 목표: API 요청 시 전달 (향후)
|
||||
- rb8001이 main_db의 slack_workspace 테이블에서 토큰 조회
|
||||
- 요청 시마다 토큰 전달:
|
||||
```json
|
||||
{
|
||||
"channel": "C1234567",
|
||||
@ -73,17 +75,26 @@ skill-slack의 역할을 로빙 철학(스킬=도구, 판단 금지)에 맞게
|
||||
|
||||
### 계정 전환 (heejae → admin)
|
||||
```bash
|
||||
# 51124 서버에서
|
||||
docker stop skill-slack # heejae 컨테이너 중단
|
||||
# 51124 서버에서 실행
|
||||
# 1. heejae 컨테이너 중단
|
||||
sudo docker stop skill-slack || echo "Already stopped"
|
||||
sudo docker rm skill-slack || echo "Already removed"
|
||||
|
||||
# 2. admin 계정으로 배포
|
||||
cd /home/admin/ivada_project/skill-slack
|
||||
git pull
|
||||
docker compose up -d --build
|
||||
docker logs skill-slack --tail=50
|
||||
git pull origin main
|
||||
sudo docker compose down
|
||||
sudo docker compose up -d --build
|
||||
|
||||
# 3. 로그 확인
|
||||
sudo docker logs skill-slack --tail=50 -f
|
||||
```
|
||||
|
||||
### 네트워크 모드 변경
|
||||
현재: `network_mode: host` (docker-compose.yml 32행)
|
||||
권장: bridge 모드로 변경
|
||||
- 파일: `/home/admin/ivada_project/skill-slack/docker-compose.yml` 32행
|
||||
- 현재: `network_mode: host`
|
||||
- 권장: bridge 모드로 변경 (포트 충돌 방지, 보안 격리)
|
||||
- 로그 수집: Fluent-bit는 파일 기반이므로 영향 없음
|
||||
|
||||
---
|
||||
|
||||
@ -101,23 +112,29 @@ docker logs skill-slack --tail=50
|
||||
|
||||
## 테스트
|
||||
|
||||
### 테스트 명령 (현재)
|
||||
### 테스트 명령 (현재: 환경변수 토큰)
|
||||
```bash
|
||||
# 헬스체크
|
||||
curl -f http://localhost:8502/health
|
||||
|
||||
# 메시지 전송
|
||||
# 메시지 전송 (API_KEY는 .env의 SERVICE_API_KEY)
|
||||
curl -X POST http://localhost:8502/api/v1/send \
|
||||
-H "X-API-Key: {API_KEY}" \
|
||||
-H "X-API-Key: {SERVICE_API_KEY}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"channel": "C1234567", "text": "테스트"}'
|
||||
-d '{"channel": "C07V9F3V21V", "text": "skill-slack 배포 테스트"}'
|
||||
|
||||
# 스레드 응답 테스트
|
||||
curl -X POST http://localhost:8502/api/v1/send \
|
||||
-H "X-API-Key: {SERVICE_API_KEY}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"channel": "C07V9F3V21V", "text": "스레드 응답 테스트", "thread_ts": "1234567890.123456"}'
|
||||
```
|
||||
|
||||
### 테스트 명령 (개선 후)
|
||||
### 테스트 명령 (향후: 요청별 토큰)
|
||||
```bash
|
||||
# rb8001이 토큰과 함께 요청
|
||||
curl -X POST http://localhost:8502/api/v1/send \
|
||||
-H "X-API-Key: {API_KEY}" \
|
||||
-H "X-API-Key: {SERVICE_API_KEY}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"channel": "C1234567", "text": "테스트", "token": "xoxb-..."}'
|
||||
```
|
||||
@ -126,12 +143,12 @@ curl -X POST http://localhost:8502/api/v1/send \
|
||||
|
||||
## 체크리스트
|
||||
|
||||
### 배포 전
|
||||
- [ ] heejae 컨테이너 중단
|
||||
- [ ] thread_ts 버그 수정
|
||||
- [ ] 임시 SLACK_BOT_TOKEN 설정
|
||||
### 배포 전 (순서대로)
|
||||
1. [x] heejae 컨테이너 중단 (포트 8502 확보)
|
||||
2. [x] thread_ts 버그 수정 (완료: app/api/endpoints/messages.py:33)
|
||||
3. [x] 환경변수 설정 (.env 파일 생성 완료)
|
||||
|
||||
### 배포 후
|
||||
- [ ] 헬스체크 200
|
||||
- [ ] 헬스체크 200 확인
|
||||
- [ ] 스레드 응답 테스트
|
||||
- [ ] API에 token 파라미터 추가 (향후)
|
||||
- [ ] API에 token 파라미터 추가 (향후 개선사항)
|
||||
Loading…
x
Reference in New Issue
Block a user