안녕하세요. 회사내 물리서버 교체로 인한 프론트,백엔드,QA 배포환경 작업을 진행함.
새로 설치할 물리서버에 젠킨스 설치후 깃허브 웹훅 연결하였습니다.
jenkins install
1. JDK install
$ sudo apt-get install openjdk-11-jdk
2. jenkins repo key install
$ 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
3. apt update
$ sudo apt-get update
4. jenkins install
$ sudo apt-get install jenkins
5. jenkins restart & 실행상태 확인
$ sudo service jenkins restart
$ sudo systemctl status jenkins
정상적으로 실행 되었다.
6. jenkins 포트 변경
$ sudo vi /etc/default/jenkins
HTTP_port=변경할포트 입력후 :wq 저장후 나가기
$ sudo service jenkins restart
포트를 변경 했으니 재시작을 해준다.
7. jenkins 접속 & 초기 패스워드
브라우저 http://서버IP:8080 접속시 초기 패스워드 입력.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
jenkins & Github 웹훅 연결하기
1. jenkins plugin install
jenkins 접속후 왼쪽 네비게이션 메뉴 -> jenkins 관리 -> 플러그인 관리 접속
GitHub Integration Plugin 설치 합니다. 저는 이미 설치가 되었기 때문에 표시가 되지 않습니다.
2. github repo webhook 설정
위와 같이 입력후 설정 완료한다.Payload (젠킨스)URL 예) http://62.235.155.222:8080/github-webhook/
3. github repo webhook success
정상적으로 연결시 체크표시 나타난다.
작업 이슈
이번 글은 공식 문서를 따라가면 쉽게 할 수 있었다고 생각합니다.
하지만 공식 문서에 따라 진행을 하였는데 webhook 연결이 되지 않았습니다.
저희 회사 서버는 방화벽을 허용하지 않으면 외부포트는 전부 막히도록 되어있습니다.
곧바로 방화벽이 문제가 있다고 생각하였고 깃허브 방화벽에 대해 구글 검색을 시작하였습니다.
검색중 깃허브 공식문서에서 해당 링크를 발견하였고 https://api.github.com/meta
해당 링크 접속시 hooks라는 외부IP를 알수있습니다. 해당 포트들을 방화벽 허용을 해줘야 정상적으로 webhook 연결이 가능합니다.
$ sudo ufw status
'개발' 카테고리의 다른 글
[velog 2022-06-14] React zustand 상태 관리 라이브러리 사용하기 (0) | 2024.05.23 |
---|---|
[velog 2022-06-10] React 부모 새창(window.open) data refresh 커스텀훅 (0) | 2024.05.23 |
[velog 2022-06-09] 내가 쓰는 javascript 문법 꿀팁! (사용사례 포함) (0) | 2024.05.23 |
[velog 2022-06-03] React 커스텀 axios 만들어 사용하기 (0) | 2024.05.23 |
[velog 2022-05-26] jenkins + github 비공개 저장소 SSH 연결하기 (0) | 2024.05.23 |