Skip to content

dark-gammaru/webhook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

웹 훅 보일러플레이트

사용법

1. .env에 secret 입력

동작을 위해서는 웹 훅으로 등록해놓은 시크릿 번호가 필요합니다.

하지만 인라인 코드로 작성하면 비밀번호 유출 위험이 있어 .env 파일에 작성합니다.

.env 파일은 .gitignore에 포함되어 있으며, 로컬에서 생성하면 됩니다.

# .env 파일
SECRET=YOUR_SECRET

2. pm2로 백그라운드 실행

백그라운드에서 서비스 형태로 실행시키기 위해 pm2 명령어가 포함된 start.sh 스크립트를 작성해뒀습니다.

start.sh을 실행시키면 index.js가 서비스로 실행됩니다.

실행하기전에 index.js에서 port 변수를 확인해서 원하는 포트로 변경해주세요.

pm2 list를 확인하시면 정상 동작하는지 확인 할 수 있습니다.

더 자세한 사항은 pm2 공식 홈페이지에 방문하여 학습하시기 바랍니다.

3. hook.sh 변경

웹 훅이 동작하면 hook.sh이 실행되는데, 여기에는 실제 git 명령어가 포함되어 있습니다.

REPOSITORY 변수에 이 프로젝트에서 실제 webhook을 적용하고자하는 로컬 레포지토리 까지의 상대경로를 입력해주세요.

원리는 간단한데, 그 레포지토리로 이동해서 git pull을 하는 겁니다.

패스워드 입력이 어렵기 때문에, https나 ssh 방식 사용시, 비밀번호 입력 없이 pull이 가능하도록 설정해주십시오.

4. webhook에 등록

github 레포지토리 - Settings - Webhooks - Add webhook에서 등록합니다.

Content Type은 application/json 두고, Secret 값을 위에서 설정한 값으로 해주세요. (Content Type이 뭔지는 구글링해서 학습해주세요.)

Payload URL이 중요한데, github 서버에서 어떤 주소로 접근해 웹 훅을 실행시킬 수 있냐는 겁니다.

외부에서 접근 가능한 주소/push로 Payload URL을 설정해주세요.

공유기를 사용하는 경우 적절한 포트포워딩이 필요할 겁니다.

해당 건 관련해서는,

겜마루 회원이시고 어둠의 겜마루 서버를 이용하실 분들은 어둠의 겜마루 디스코드에서 문의해주세요.

5. 로그

hook.log에 모든 활동이 기록됩니다.

About

깃허브 웹 훅 보일러플레이트

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published