다 와간다

웹훅을 만들고 GitHub에 이걸 등록하고 체크하고.. 귀찮다
이런 귀찮은 것을 알아서 다 해주는 GitHub 노드가 있다
깃헙 노드 관련해서 공홈 참조했음
https://docs.n8n.io/integrations/builtin/credentials/github/
GitHub credentials | n8n Docs
Integrations Built-in nodes Credentials GitHub credentials You can use these credentials to authenticate the following nodes: Prerequisites Create a GitHub account. Supported authentication methods Refer to GitHub's API documentation for more information a
docs.n8n.io
1. GitHub 토큰 생성 및 Credential 등록
우선 GitHub에서 프로젝트에 엑세스 가능한 토큰을 만든다
토큰 만드는 방법에 대해서는 아래 링크 참조
https://ratatou2.tistory.com/16#3)%20Jenkins%2C%20GitHub%20연결하기-1
홈서버 만들기 (4) - CI/CD 구축 (feat. Jenkins)
너만 끝내면...Docker 부터 Jenkins까지...너무 귀찮고 쓸거 많고 한데 블로그 이전보다도 이것들부터 끝내는 이유는...자잘하게 이슈들 해결한거 기록으로 남기고 싶은데 홈서버 제작 순서 짜맞추느
ratatou2.tistory.com
그리고는 GitHub 노드 생성해서 열어보면 Credential을 추가 등록할 수 있는데 거기에 등록한다
아래 사진에서 Credential to connect with을 누르고 추가하면 된다


Github Server 같은 경우엔 Enterprise를 쓰는게 아니라면 바꿀 필요 없단다
올바른 값을 입력하면 아래처럼 자동으로 connection 테스트를 하고 제대로 됐는지 알려준다

2. 계정명과 Repository 등록

위 사진에서 Repository Owner를 등록하면 된다 (계정명)
아래 빨간색 상자처럼 잘못된 Owner를 입력하면 Repo가 없다고 뜬다
반면에 올바른 Repo를 등록하면 해당 계정에 생성되어있는 repo가 전부 뜬다

진짜 이런 것까지 다 구현해두다니 편의성 겁나 좋음...
3. 노드 실행
다 등록해뒀으면 이제 테스트 해보면 된다

위 사진에서 Events를 *로 해두거나 On Star가 있는데 그걸로 웹훅 생성하면 테스트 하기 편하다

그러면 깃헙에서 저거 누를 때마다 웹훅 발생함
예외사항 - Webhook can not work on "localhost".

웹훅 localhost에서 불가 이슈가 뜰 수 있다 (특히 docker 환경에서 실행시)
아래 링크 참조해서 서버 주소(외부 IP or DNS)로 바꿔주자
https://ratatou2.tistory.com/77#docker-compose에서%20n8n%20기본%20주소%20변경-1
n8n 기본 주소 변경하기 (feat. n8n 웹훅 주소 바꾸기)
localhost? 외부 통신 어떻게... 하죠??보이는가 localhost?docker로 띄운 n8n 기본주소는 별도로 설정해주지 않으면, localhost로 뜨더라이러면 외부에서 통신할 수가 없다수정해보자docker-compose에서 n8n 기
ratatou2.tistory.com
예외사항 - Github Trigger:Validation Failed

에러전문
Problem running workflow
Your request is invalid or could not be processed by the service
Show Details
Github Trigger:Validation Failed
이건 웹훅 문제다
처음엔 웹훅을 등록 안해줘서 그런가? 라고 생각했지만, 우리는 Github Token을 발행해서 n8n에게 쥐여주었고 n8n은 내 Github에 접근할 권한이 있다
나 같은 경우는 위에 말한 locahost + URL 문제였다
아무튼 웹훅까지 오는 경로가 제대로 되지 않았던 것, 포트포워딩을 손봐서 해결했다
하단에 옵션을 보면 inSecure 옵션도 있으니 HTTP에서도 SSL 인증을 꺼서 테스트해볼 수는 있다
원인을 파악했고, 해결했으니 이후엔 SSL을 진행했는데... 별 그지 같은 일이 다 있었다 ㅎ..
아 참고로 나처럼 직접 웹훅을 등록해서 테스트해봐도 되긴한다
(근데 n8n이 알아서 웹훅 만들고 지우고 한다)

'Infra > n8n' 카테고리의 다른 글
| n8n, 외부 라이브러리, 모듈 없음 (feat. Cannot find module) (0) | 2025.02.13 |
|---|---|
| n8n, Active 안되는 이슈 해결방법 (feat. n8n 활성화) (0) | 2025.02.12 |
| n8n을 Nginx에 등록 시 주의 사항 (feat. 필독사항) (0) | 2025.02.11 |
| n8n에서 Webhook 테스트하기 (feat. n8n 웹훅 노드 사용법) (0) | 2025.02.11 |
| n8n 기본 주소 변경하기 (feat. n8n 웹훅 주소 바꾸기) (0) | 2025.02.11 |