본 실습은 아래 자료를 바탕으로 진행되었습니다.
https://tomatohj.tistory.com/80
위와 같이 Docker를 이용한 DevOps 아키텍처를 로컬 환경에 구성하고자 한다.
📌 Jenkins란?
젠킨스는 온갖 종류의 개발 작업을 지원하기 위한 약 1,400가지의 플러그인을 가지고 있는 선두적인 오픈소스 자동화 서버다. 가와구치가 애초에 해결하려 했던 지속적인 통합과 지속적인 자바 코드 전달, 즉 프로젝트 빌드, 테스트 실행, 정적 코드 분석 시행, 그리고 배포 작업은 사람들이 젠킨스를 사용해 자동화하고 있는 여러 가지 프로세스들 가운데 한가지일 뿐이다. 이 1,400개의 플러그인은 5가지 영역을 포괄하고 있다(플랫폼, UI, 관리, 소스코드 관리, 그리고 가장 많이 사용되는 빌드 관리).
[ 출처 ]
https://www.itworld.co.kr/news/107527
https://velog.io/@bbkyoo/Jenkins
이때 도커는 "Docker Desktop"을 사용하여 진행하여야 한다.
먼저 "docker run -it --name jenkins -p 8080:8080 ubuntu"명렁어로 Jenkins를 실행하기 위해 우분투 기반의 컨테이너를 생성한다.
▶ Jenkins는 8080 포트를 기본적으로 사용하였기 때문에 호스트 PC의 8080포트와 컨테이너의 8080 포트를 포트포워딩 해준 것이다.
📂 포트포워딩
특정한 포트로 들어오는 데이터 패킷을 다른 포트로 바꿔서 다시 전송해주는 작업으로, 간단히 말해 포트를 전달해주는 것이다. ‘포트포워딩’이라는 뜻은 특정한 방식으로 라우터를 설정하여 데이터를 이동시키는 방법을 의미한다.
[출처] https://nordvpn.com/ko/blog/port-forwarding-vpn/
업데이트가 완료되었다면 "apt install -y wget vim openjdk-17-jdk curl git" 명령어로 구축에 필요한 여러 패키지들을 설치해주어야 한다.
모두 설치가 완료된 이후 Jenkins를 설치하기 위해 Jenkins 사이트에 접속하여 안내되어 있는 명령어들을 통해 설치할 수 있다. 이때, 도커로 생성한 컨테이너는 root 계정을 사용하고 있으므로 sudo 명령어를 제외하고 사용하여야 한다.
명령어 실행 후, 위 두개의 명령어를 통해 Jenkins를 설치할 수 있는 저장소 정보를 전 단계에서 추가해줬기 때문에 "apt update" 명령어를 통해 패키지 매니저를 다시 업데이트 하는 과정을 거쳐야 한다. 이후 "apt install -y jenkins" 명령어로 젠킨스를 설치해줄 수 있다.
설치가 끝나면 "service jenkins start" 명령어로 jenkins를 실행시킨다.
실행이 정상적으로 완료되고 "127.0.0.1:8080" 주소로 브라우저에서 접근하면 jenkins 설정을 위한 화면을 확인할 수 있다. 지금은 잠겨있는 상태이기 때문에 아래 제공된 위치에서 비밀번호를 찾아 인증하는 과정을 거쳐야한다.
cat 명령어를 통해 확인한 비밀번호를 통해 인증하면 아래와 같은 화면을 확인할 수 있다. 여기서 "Install suggested plugins"를 선택한다. 선택하면 기본적인 Jenkins 플러그인들이 설치된다.
설치가 완료되었다면 아래 사용자 설정 화면에서 임의로 계정 정보를 입력한 후 다음단계로 넘어간다.
마지막으로 Instance Configuration 단계에서 Jenkins 접속 URL을 설정할 수 있는데, 건들이지 않고 그대로 마무리한다.
그럼 아래와 같은 화면이 나오는 것을 볼 수 있고 'Start using Jenkins' 버튼을 눌러 설정단계를 완료한다.
최종적으로 아래와 같은 Jenkins 화면을 확인할 수 있다.
'Cloud > DevSecOps' 카테고리의 다른 글
AWS DevSecOps Service & Tool (0) | 2024.05.04 |
---|---|
[DevOps 구축] Github Webhook 설정, DevOps 구축 완성 (0) | 2024.04.30 |
[DevOps 구축] Blue/Green 웹 서버 + Nginx 리버스 프록시 설정 (0) | 2024.04.29 |
[DevOps 구축] Jenkins와 Github 연결하기 (0) | 2024.04.29 |