SW-PRODUCT/개발

[Jenkins] ScmSync가 말썽을 부릴 때 대응법

굴돌 2018. 3. 30. 10:39




2016.06.14 scm plugin: Exception while executing SCM command.

원인 : 대체로 불명(github에서 README.md를 수정해서 conflict 발생한 적 있음)

처리내역

$ cd /var/lib/jenkins/scm-sync-configuration/checkoutConfiguration
$ sudo -u jenkins git pull
$ sudo -u jenkins git commit
$ sudo -u jenkins git push
  • 위와 같이 했는데도 해결 안되서 jenkins와 plugin을 모두 update해서 해결한 경우도 있음.

2018.03.30 "Job xxx hierarchy deleted"

  • 증상 : 뭔가 디렉토리/job이 삭제 됐는데 이 시점부터 sync가 깨지는 겨우.
    • fail 메시지에는 뭔가 DELETE 해야 하는데 실패했다고 계속 뜬다.
  • 원인 : git remote에는 directory/file이 없는데 delete해야 하는 상황이 발생.
    • 폴더/파일을 같은 이름으로 삭제/재생성을 반복하게 될 경우, git remote에는 폴더/파일이 없는데 scm sync가 그 폴더/파일을 삭제해야 하는 경우가 발생.
  • 해결방법 : 문제가된 폴더/파일을 수동으로 git remote에 commit+push해주면 해결됨.


sudo -u jenkins mkdir ETL-xxx
sudo -u jenkins touch ETL-xxx/aaa
sudo -u jenkins git pull --rebase
sudo -u jenkins git add ETL-xxx/aaa
sudo -u jenkins git commit
sudo -u jenkins git push