github Invalid webhook signature error

# drone ci 에서 사용할 github webhook 생성했는데, 400 응답에 다음 에러 발생했다.
{"message":"Invalid webhook signature"}

# drone 용 webhook 설정시 필요 없는 secret 설정을 했고,
# 이후 secret 부분을 삭제하고 webhook 업데이트만 했는데 계속 에러가 발생했다.
# 이전 잘못된 secret 가 drone db 에 저장되어 있기 때문이다.

# 다음 링크를 보면 drone webhook 은 수동으로 설정할 수 없다고 한다.
# drone 이 secret 없는 webhook 에 응답해 secret 을 설정할 수 있도록해야 한다.

# 해결 방법
1. 기존 github webhook 을 수정하면 안되고 삭제 후 github webhook 새로 만든다. 이때 secret 는 비워둔다.
2. drone -> repositories -> 저장소 -> settings -> disable repository 후 다시 저장소를 찾아 active 시킨다.
3. drone 저장소 재시작 후 github webhook 의 secret 값이 자동 채워진다. 이제 push 하면 성공한다.


#####

# 추가로 github webhook 에서 다음과 같이 타임아웃 에러 발생시
We couldn’t deliver this payload: timed out

# drone 로그 메시지를 확인해보면
# drone configuration (.drone.yml) 파일을 찾지 못하는 경우 일 수 있으니
docker logs -f drone
{"commit":"xxxxx","error":"Not Found","event":"push","level":"warning","msg":"trigger: cannot find yaml","ref":"refs/heads/test123","repo":"ysoftman/test-drone","time":"2022-03-17T07:48:41Z"}

# drone -> 저장소 -> settings -> configuration 파일을 변경하자.

comments:

댓글 쓰기