[Jenkins]PollSCM을 통한 지속적인 파일 업데이트 + SSH 연결

2023. 8. 18. 00:44초기 과업/DevSecOps

작성자알 수 없는 사용자

728x90
반응형

 

안녕하세요. 기깔나는 사람들에서 DMSO를 맡고있는 정우입니다.

지난번 톰캣을 설치해서 

Git에서 받아온 레파지토리를 실제 배포해봤는데요

오늘은 수정이되면 바로 변경사항이 확인 되어지는 PollSCM을 사용해보고

ssh 를 사용해 새로운 서버에 배포해보겠습니다. 

 

https://giggal-people.tistory.com/entry/Jenkins-Jenkins%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-CICD-%EC%9E%90%EB%8F%99%ED%99%94-%EB%8F%84%EA%B5%AC%EC%9D%98-%EC%82%AC%EC%9A%A9

 

[Jenkins] Jenkins를 이용한 CI/CD 자동화 도구의 사용

안녕하세요. 기깔나는 사람들에서 DMSO를 맡고있는 정우입니다. CI/CD를 위한 Git, Maven 연동 깃허브 plugin이 연동이 되었는지 확인 해보겠습니다. Jenkins관리 -> Jenkins Plugins -> Installed plugins-> Github 깃

giggal-people.tistory.com

 

 


PollSCM이란? 

프로젝트 내부에 어떤 변화가 있을때 자동으로 build해주는 역할입니다.

원하는 시간에 스케쥴링(cron job)을 입력하고, 변경사항이 있으면 자동으로 build 해줍니다.

 

 

cronjob 보는방법: 

더보기
$ crontab -l 

$ * * * * * echo hi​

 

저 * 은 앞에서부터

분  |  시 |  일 | 월  | 요일   

로 아시면 됩니다! 

그럼 두번째 구문 ***** echo hi는 

매일 매 1분단위로 hi를 출력하도록 하는겁니다! 

 

기존 세번째 프로젝트에 적용해보겠습니다. 

 

구성으로 들어가서 일부분을 변경해줄게요

 

 

 

빌드 유발

Poll SCM 체크!

매 초마다 실행 하려고! 

코드 수정이 일어나면 수동으로 빌드됩니다.

 

소스 코드를 수정해줍니다.

깃허브에서 간단하게 수정이 이루어졌습니다.

 

저장이되면 

 

build를 따로 사용하지않았는데

자동으로 빌드가 되고 있는것이 확인 가능합니다!

 

 

 

빌드가 완료가 되면 웹서버에서 확인해보겠습니다.

내 IP:8088/hello-world로 보면

변경된 소스를 확인 할 수 있습니다! 


SSH 연결

ssh를 이용해 새로운 서버에 도커를 사용하기 위해 ssh 설정을 해주겠습니다.  

 

강의 환경과 동일하게 유지하기 위해 새로운 도커 실습환경을 설치해보겠습니다.

 

docker pull edowon0623/docker

 

 

 

이미지 실행

저는 10022번이라는 포트를 사용하지 않기때문에

10022번 을 사용해보겠습니다.

# Windows 1) 
$ docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:latest /usr/sbin/init

# Windows 2, 위 명령어로 실행되지 않을 때) 
$ docker run -itd --name docker-server -p 10022:22 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:latest /usr/sbin/init

# Windows 3, 위 명령어로 실행되지 않을 때) SSH 서버 (with 도커) 실행 명령어 (방법3, 위 명령어로 실행되지 않을 경우, iptables 사용하지 않고 실행)
$ docker run -itd --name docker-server -p 10022:22 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/docker:no_iptables /usr/sbin/init

docker ps -a 를 실행해보면

 

ssh로 접근해보겠습니다.

ssh root@localhost -p 10022

비밀번호: P@ssw0rd

 

성공적으로 ssh로 접근이 가능해집니다. 

 

 

도커가 정상적으로 실행되어 있는지 확인해볼게요

systemctl status docker

 

아직 도커가 inactive이니까

도커를 실행해보겠습니다.

systemctl start docker 

 

 

서버 내부에 net-tools가 설치되어있지않아 설치해볼게요

 yum install -y iptables net-tools

 

그럼 이 ssh주소로 새로운 도커로 빌드나 배포할 수 있는 환경을

다음시간에 만들어보겠습니다.

 

 

 

 


 

 

 


참고자료

🔗 - 인프런 - Jenkins를 이용한 CI/CD Pipeline 구축

 

 

 

 

 

728x90
반응형