5. OpenClaw 실전편 - 발행 실패를 막는 운영 템플릿(검증·커밋·롤백)
OpenClaw 실전편 #5
3편에서 Heartbeat + Cron의 역할 분리를 잡았고, 4편에서 초안→검수→배포 파이프라인을 만들었다.
이번 5편은 그 다음 단계다.
“오늘도 09:00 발행이 돌아가게 만드는 운영 습관”
자동화는 “한 번 성공”보다 “계속 성공”이 훨씬 어렵다.
실전에서 진짜 많이 터지는 건 글 작성이 아니라 마지막 10% (검증/커밋/푸시/복구) 구간이다.
그래서 이번 글은 아래 4가지를 한 번에 묶어 다룬다.
- 발행 직전 검증 루틴
- 안전한 git 커밋/푸시 순서
- 충돌/실패 대응 표준 절차
- 내일부터 바로 쓸 수 있는 체크리스트
1) 운영 원칙: “글쓰기”와 “발행”을 분리한다
발행 실패를 줄이려면 먼저 관점을 바꿔야 한다.
- 글쓰기 = 콘텐츠 작업
- 발행 = 운영 작업
이 둘을 섞으면, 본문 수정하다가 배포 이슈를 놓치거나, 반대로 배포에 쫓겨서 품질이 무너진다.
추천 흐름은 아래처럼 고정하면 된다.
- 본문 완성 (분량/구성 충족)
- 발행 검증 (형식/이미지/명령어 점검)
- 커밋/푸시 (의도한 파일만)
- 결과 기록 (성공/실패 로그)
핵심은 단순하다.
검증을 통과하지 못하면 커밋하지 않는다.
2) 발행 직전 검증: 3분 점검으로 사고를 줄인다
아래 명령어를 발행 직전에 순서대로 실행한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cd ~/tofu-shin.github.io
# 1) 오늘 포스트 파일 확인
ls -lh _posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md
# 2) front matter / 대표 이미지 경로 확인
grep -n "^title:\|^date:\|^categories:\|^tags:" _posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md
grep -n "/assets/img/posts/openclaw-hero.jpg" _posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md
# 3) 최소 분량(예: 1800자) 확인
python3 - <<'PY'
from pathlib import Path
p = Path('_posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md')
text = p.read_text(encoding='utf-8')
# front matter 제외한 본문 길이 대략 계산
parts = text.split('---')
body = '---'.join(parts[2:]) if len(parts) >= 3 else text
print('body_chars=', len(body.strip()))
PY
여기서 분량만 채우고 끝내면 안 된다.
실전에서는 아래 항목이 더 자주 문제를 만든다.
- 대표 이미지 경로 오타
date시간대 누락 (+0900빠짐)- 제목 번호(실전편 #N) 불일치
- 코드블록 안 명령어 오탈자
3) 안전한 배포 명령어: “작게, 명확하게” 커밋
가장 중요한 규칙 하나:
git add .대신 파일 지정 add를 기본값으로 쓴다.
1
2
3
4
5
6
7
8
9
10
11
12
13
cd ~/tofu-shin.github.io
# 변경점 확인
git status --short
# 이번 글 파일만 스테이징
git add _posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md
# 커밋
git commit -m "Add OpenClaw practical #5 publish ops and rollback guide"
# 푸시
git push origin main
이렇게 하면 의도하지 않은 파일(임시 메모, 테스트 파일, 로컬 설정)이 같이 올라가는 사고를 거의 막을 수 있다.
4) 실패 대응 표준 절차 (자주 터지는 3가지)
케이스 A: nothing to commit
증상:
git commit했는데 변경사항이 없다고 나옴
대응:
- 파일이 실제 저장됐는지 확인
- 경로가 맞는지 확인
- 다시 add 후 commit
1
2
3
git status
git add _posts/2026-03-08-openclaw-practical-5-publish-ops-rollback.md
git commit -m "Add OpenClaw practical #5 publish ops and rollback guide"
케이스 B: non-fast-forward (원격 충돌)
증상:
- push 거절
대응:
- 원격 변경을 rebase로 당겨오기
- 충돌 해결
- 다시 push
1
2
git pull --rebase origin main
git push origin main
케이스 C: 발행 지연 (09:00 넘김)
증상:
- 예약 시각이 지났는데 글이 아직 미발행
대응:
- 즉시 수동 발행
- 지연 원인 기록(충돌/네트워크/검증 누락)
- 다음 실행에 같은 실패 재발 방지 룰 추가
중요한 건 완벽한 무오류가 아니다.
같은 실패를 두 번 반복하지 않는 운영 기록이 핵심이다.
5) 그대로 복붙해서 쓰는 발행 체크리스트
아래 체크리스트는 실제로 매번 확인하는 용도로 만든 템플릿이다.
- 시리즈 번호/제목이 맞다 (OpenClaw 실전편 #5)
- 본문 1,800자 이상 충족
- 상단 대표 이미지 포함:
/assets/img/posts/openclaw-hero.jpg - 실전 예시/명령어/체크리스트/실패 대응 섹션 포함
- front matter (
title,date,categories,tags) 정상 - 명령어 블록 복사 실행 가능한 형태
git status기준 의도한 파일만 커밋git push origin main성공 확인- 발행 결과(성공/실패 + 원인) 한 줄 기록
체크리스트는 “잘 아는 내용”이어도 반드시 눈으로 확인하는 게 좋다.
실수는 지식 부족보다 루틴 생략에서 더 많이 나온다.
6) 운영 팁: 자동화는 “신뢰”가 쌓여야 확장된다
처음부터 모든 걸 완전 자동으로 돌리면 편해 보이지만, 초기에는 오히려 불안정해지기 쉽다.
추천 단계는 아래 순서다.
- 반자동 운영: 작성 자동화 + 최종 배포 수동 승인
- 조건부 자동: 체크리스트 통과 시 자동 push
- 완전 자동: 실패 알림/재시도/롤백까지 포함
이 순서대로 올리면, 루틴이 깨졌을 때 어디를 고쳐야 하는지 바로 보인다.
마무리
실전 자동화의 핵심은 멋진 프롬프트가 아니라, 실패를 다루는 운영 템플릿이다.
- 검증 없이 커밋하지 않고
- 작은 단위로 안전하게 푸시하고
- 실패하면 표준 절차로 복구하고
- 재발 방지 기록을 남긴다
이 4가지만 지켜도 아침 발행 루틴의 안정성이 확 달라진다.
다음 편에서는 이 운영 템플릿을 기반으로, 주간 글감 큐를 자동으로 소진하는 방식(우선순위 + 백로그 관리)까지 이어서 다뤄보겠다.
