2024-03-30
작성
문제 발생
Git Action을 이용해서 티스토리와 Github를 서로 연동하다가 build failed이 발생했다.
내 경우 git add .
를 수행하다가 발생했는데, 다른 명령어를 수행하다가 동일한 에러가 발생할 수 있다.
Github action nothing to commit, working tree clean
Error: Process completed with exit code 1.
main.yml 파일에서 아래 명령어를 순차적으로 실행하다가 ✅ 표시된 부분에서 오류가 발생한 것이다. 빌드 시점에 새롭게 추가된 내용이 없는데 git add .
를 수행하려고 하니 오류가 발생한 것이다.
jobs:
# This workflow contains a single job called "build"
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: |
npm ci
npm install rss-parser
- name: Update README
run: npm start
- name: Commit README
run: |
git add . // ✅ 이 부분에서 에러 발생
git config --local user.email "본인의 Github 이메일"
git config --local user.name "본인의 Github 이름"
git commit -m "Update README.md"
git push origin main
해결 방법
그렇다면 빌드를 수행할 시점에 추가된 내용이 존재하는지 체크한 다음, 내용이 없다면 커밋하거나 푸시하지 않으면 된다. Git 명령어 diff
를 이용해서 소스 변경 여부를 체크한다. 소스에서 추가되거나 변경된 내용이 없으면 문제가 발생한 부분을 아예 실행하지 않는다.
jobs:
# This workflow contains a single job called "build"
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20
- name: Install dependencies
run: |
npm ci
npm install rss-parser
- name: Update README
run: npm start
- name: Check if there are any changes ✅ 변경점 있는지 체크
id: verify_diff
run: |
git diff --quiet . || echo "changed=true" >> $GITHUB_OUTPUT
- name: Commit README
if: steps.verify_diff.outputs.changed == 'true' ✅ 변경점 있을 경우에만 실행
run: |
git config --local user.email "본인의 Github 이메일"
git config --local user.name "본인의 Github 이름"
git add .
git commit -m "Update README.md"
git push origin main
최종적으로 build success된 것을 확인했다.
'Software Engineering > Git, SVN' 카테고리의 다른 글
티스토리 글 작성하면 Github에 자동 커밋시키는 방법 (feat. 잔디 심기) (4) | 2024.03.30 |
---|---|
.gitignore 간단하게 만들기 (.gitignore 샘플 예시) (0) | 2023.11.26 |
Github를 트리 구조로 볼 수 있는 Octotree 플러그인 (1) | 2023.11.24 |
SVN Connector 설치 오류날 경우 (SVN Connector 수동 설치) (1) | 2023.09.13 |
Git이란? (feat. Git의 브랜치 전략) (0) | 2022.01.26 |