This commit is contained in:
happybell80 2025-09-05 20:03:27 +09:00
commit dac6c973cb
2 changed files with 119 additions and 1 deletions

View File

@ -0,0 +1,115 @@
# Gitea Actions 크론잡 자동화
## 작성일: 2025-09-04
## 상태: 💡 아이디어
## 목적: 정기 작업 자동화 (뉴스 파싱, 헬스체크 등)
## 기본 구조
### 워크플로우 파일 위치
```
repository/.gitea/workflows/cron_*.yml
```
### 크론 표현식
```yaml
on:
schedule:
- cron: "0 0 * * *" # UTC 기준 (KST -9시간)
```
## 활용 예시
### 1. 네이버 블로그 뉴스 파싱
```yaml
name: Daily News Parser
on:
schedule:
- cron: "0 0 * * *" # 매일 KST 9시
workflow_dispatch: # 수동 실행 옵션
jobs:
parse-news:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install playwright requests
playwright install chromium
- name: Parse and send to Slack
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
run: |
python scripts/parse_naver_news.py
```
### 2. DB 조회 예시
```yaml
- name: Query PostgreSQL
env:
PGPASSWORD: ${{ secrets.DB_PASSWORD }}
run: |
psql -h localhost -U robeings -d main_db \
-c "SELECT * FROM robeing_stats LIMIT 10;"
```
### 3. API 호출 예시
```yaml
- name: Call API
run: |
curl -X POST "http://localhost:8000/api/endpoint" \
-H "Authorization: Bearer ${{ secrets.API_TOKEN }}" \
-d '{"key":"value"}'
```
## Secrets 관리
Gitea 웹 UI에서 설정:
- 조직 레벨: 모든 저장소에서 사용
- 저장소 레벨: 특정 저장소만 사용
필요한 Secrets:
- `DB_PASSWORD`: PostgreSQL 비밀번호
- `SLACK_WEBHOOK_URL`: 슬랙 알림용
- `API_TOKEN`: API 인증 토큰
## 여러 크론잡 관리
### 방법 1: 파일 분리
```
.gitea/workflows/
├── cron_morning.yml # 아침 작업
├── cron_evening.yml # 저녁 작업
└── cron_weekly.yml # 주간 작업
```
### 방법 2: 한 파일에 여러 스케줄
```yaml
on:
schedule:
- cron: "0 0 * * *" # 매일 09시
- cron: "0 9 * * *" # 매일 18시
```
## 주의사항
1. **시간대**: UTC 기준, KST는 +9시간
2. **Runner**: 51123 서버에 이미 설치됨
3. **DB 접속**: localhost로만 접근 (보안)
4. **실행 환경**: ubuntu-latest 컨테이너
## 구현 우선순위
1. 네이버 블로그 뉴스 파싱 자동화
2. 서비스 헬스체크 정기 실행
3. DB 로그 정리 자동화

View File

@ -28,9 +28,12 @@ services:
container_name: robeing-skill-news container_name: robeing-skill-news
``` ```
### 결과 ### 결과 ✅ 해결 완료
- 컨테이너 재시작 후 좀비 프로세스 67개 → 1개로 감소 - 컨테이너 재시작 후 좀비 프로세스 67개 → 1개로 감소
- 1개는 claude 관련 git 프로세스(무관) - 1개는 claude 관련 git 프로세스(무관)
- skill-news 컨테이너 정상 작동 중 (healthy)
- Gitea Actions 자동 배포 성공
- 2025-09-04 재확인: 정상 작동 유지
## 문제 2: Gitea Actions YAML 문법 오류 ## 문제 2: Gitea Actions YAML 문법 오류