Jenkins, git WebHook, CI/CD
- 요약
- Jenkins: Jenkins는 지속적 통합(Continuous Integration, CI) 및 지속적 배포(Continuous Deployment, CD)를 지원하는 오픈 소스 자동화 도구.
- Git 웹훅: Git 웹훅은 Git 저장소에서 발생하는 이벤트를 트리거로 하여 특정 URL로 HTTP POST 요청을 보내는 기능. 예를 들어, 코드가 푸시되거나 브랜치가 업데이트되는 등의 이벤트가 발생하면 Git 웹훅이 설정된 URL로 이벤트 정보를 전송.
- CI/CD (Continuous Integration/Continuous Deployment): CI/CD는 소프트웨어 개발 프로세스의 일환으로, 지속적으로 소스 코드를 통합하고 테스트하며, 성공적으로 테스트된 코드를 자동으로 배포하는 방법론이다. CI는 개발자들이 소스 코드를 공유 레포지토리에 푸시할 때마다 자동으로 코드를 빌드하고 테스트하는 것을 의미하며, CD는 빌드 및 테스트를 성공적으로 통과한 코드를 실제 환경으로 배포하는 것을 의미함.
- Jenkins 동작방법
$ brew services start jenkins // 젠킨스 시작
$ brew services stop jenkins // 젠킨스 종료
$ brew services restart jenkins //젠킨스 재시작
# 삭제
brew remove jenkins
젠킨스 서버 UI에 접속한다. (만약 로컬에서 띄웠다면 localhost 입력하면 됩니다.)
- http://[젠킨스 서버 IP]:8080/
포트변경
cd /opt/homebrew/opt/jenkins
vim homebrew.mxcl.jenkins.plist
코드:
아래 httpPort 부분을 실행하려는 포트 번호로 수정한다. (default: 8080)
insert ->a누르면 수정가능
<string>--httpListenAddress=127.0.0.1</string>
<string>--httpPort=8080</string> <!-- 포트 수정 -->
->현재 <string>--httpPort=9090</string> 수정함
esc+ :wq! 저장 후 나가기
주기적으로 빌드하려면 Build Schedule 사용 (Item 상세 → 빌드 유발)
매일 오전 5시에
00 05 * * *
1시간마다
H * * * *
10분마다
H/10 * * * *
월~금요일, 오전 9시~오후 6시, 1시간마다
H 9-18/1 * * 1-5
일요일, 1시간마다
H * * * 7
웹훅 설정 참고:https://github.com/pjhcsols/AbnormalBehaviorDetection_System/settings/hooks
'Backend > Backend 관련 학습 내용' 카테고리의 다른 글
인터페이스 기반의 프로그래밍 & 자바 제네릭 (0) | 2024.11.29 |
---|---|
기존 채팅 시스템에서의 WebSocket(웹소켓) 프로토콜의 STOMP 보안 문제점과 인증 레이어 설계 (0) | 2024.11.29 |
다채널 CCTV 사람 객체 이상행동 감지 및 추적 (1) | 2024.03.23 |
JWT 인증인가 token을 통한 로그인 기능 구현 (2) | 2023.11.19 |
[너의 생각을 보여줘] 공모전 개최 프로젝트 (0) | 2023.07.05 |