안녕하세요. 회사내 물리서버 교체로 인한 프론트,백엔드,QA 배포환경 작업을 진행함.
새로 설치할 물리서버에 젠킨스 설치후 깃허브 웹훅 연결하였습니다.
$ sudo apt-get install openjdk-11-jdk
$ curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install jenkins
$ sudo service jenkins restart
$ sudo systemctl status jenkins
정상적으로 실행 되었다.
$ sudo vi /etc/default/jenkins
HTTP_port=변경할포트 입력후 :wq 저장후 나가기
$ sudo service jenkins restart
포트를 변경 했으니 재시작을 해준다.
브라우저 http://서버IP:8080 접속시 초기 패스워드 입력.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
jenkins 접속후 왼쪽 네비게이션 메뉴 -> jenkins 관리 -> 플러그인 관리 접속
GitHub Integration Plugin 설치 합니다. 저는 이미 설치가 되었기 때문에 표시가 되지 않습니다.
위와 같이 입력후 설정 완료한다.Payload (젠킨스)URL 예) http://62.235.155.222:8080/github-webhook/
정상적으로 연결시 체크표시 나타난다.
이번 글은 공식 문서를 따라가면 쉽게 할 수 있었다고 생각합니다.
하지만 공식 문서에 따라 진행을 하였는데 webhook 연결이 되지 않았습니다.
저희 회사 서버는 방화벽을 허용하지 않으면 외부포트는 전부 막히도록 되어있습니다.
곧바로 방화벽이 문제가 있다고 생각하였고 깃허브 방화벽에 대해 구글 검색을 시작하였습니다.
검색중 깃허브 공식문서에서 해당 링크를 발견하였고 https://api.github.com/meta
해당 링크 접속시 hooks라는 외부IP를 알수있습니다. 해당 포트들을 방화벽 허용을 해줘야 정상적으로 webhook 연결이 가능합니다.
$ sudo ufw status