레포트 작성 기능 보완

This commit is contained in:
Lectom C Han
2025-12-19 17:06:19 +09:00
parent e04467f962
commit 4de3e04b99
5 changed files with 186 additions and 32 deletions

View File

@@ -8,7 +8,7 @@
- 트리거: cron `0 2 * * *``workflow_dispatch`.
- 기본 데이터 소스: `branch_list` 파일을 한 줄씩 읽어 순차 처리.
- 브랜치→저장소 매핑 규칙: `Develop_Net8``base`, `Develop_Net8_*``*` 부분을 저장소 이름으로 사용하며, 그 외 브랜치는 브랜치명을 그대로 저장소 이름으로 사용.
- 실행 단계: 워크플로우 리포지토리 체크아웃 → SSH 키 저장/권한 설정 후 `ssh-keyscan 172.16.10.191``engdev@172.16.10.191` 홈 내 `.git` 디렉터리를 가진 하위 디렉터리마다 `git fetch --mirror --prune`로 사전 동기화 → 워크플로우 내부에서 소스별 로컬 캐시를 생성/갱신해 동일 커밋의 중복 fetch를 최소화 → 각 브랜치마다 Gitea API로 `center_dev` 조직에 저장소 존재 여부 확인(있으면 대상 저장소를 mirror clone 후 source 브랜치를 fetch/pull해 업데이트만, 없으면 저장소 생성 시 기본 브랜치를 `main`으로 설정) → 소스 브랜치를 대상 저장소 `main`으로 강제 푸시 → 푸시 후에도 기본 브랜치를 `main`으로 패치 → 임시 폴더 정리. 오류가 나도 다음 브랜치로 계속 진행하도록 처리.
- 실행 단계: 워크플로우 리포지토리 체크아웃 → SSH 키 저장/권한 설정 후 `ssh-keyscan 172.16.10.191``engdev@172.16.10.191` 홈 내 `.git` 디렉터리를 가진 하위 디렉터리마다 `git fetch --mirror --prune`로 사전 동기화 → 워크플로우 내부에서 소스별 로컬 캐시를 생성/갱신해 동일 커밋의 중복 fetch를 최소화 → 각 브랜치마다 Gitea API로 `center_dev` 조직에 저장소 존재 여부 확인(있으면 대상 저장소를 mirror clone 후 source 브랜치를 fetch/pull해 업데이트만, 없으면 저장소 생성 시 기본 브랜치를 `main`으로 설정) → 소스 브랜치를 대상 저장소 `main`으로 강제 푸시 → 푸시 후에도 기본 브랜치를 `main`으로 패치 → 임시 폴더 정리. 오류가 나도 다음 브랜치로 계속 진행하도록 처리. 실행 후 `backup_reports/`(report_*.md에 Decisions/Timings 전체 테이블 포함)를 artifact로 업로드해 사후 확인 가능.
## 시크릿/변수
- 현재 요구: `SSH_PRIVATE_KEY`(소스 접근), `GITEA_TOKEN`(Gitea API/푸시), `GITEA_URL`(Gitea 인스턴스 URL).