본문 바로가기
DevOps/배포

[EC2] 04. EC2에 Jenkins 설치하기

by 김파치 2023. 9. 25.

길고 긴 과정을 지나 드디어 배포 준비 시작! 와!

 

사실 배포 한 번밖에 안해봐서 진짜 어설프긴 한데 기억을 되살려서 천천히 해봅니다아

 

자동 배포를 하기 위해서 먼저 젠킨스를 설치한다.

 

docker-compose.yml 파일을 사용해서 (상대적으로) 편하게 설치를 할 수 있다.

 

이건 내가 사용한 docker-compose 파일!

version: '3'

services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins:lts	# lts로 설치를 안하면 나중에 플러그인 설치할 때 문제가 생길 수 있댜,,
    restart: on-failure
    ports:
      - "8080:8080"		# 젠킨스 접속 포트
    volumes:
      - /var/jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock  # Docker 소켓 공유 추가
      - /usr/bin/docker:/usr/bin/docker  # 호스트의 Docker 바이너리를 Jenkins 컨테이너 내부로 복사
      - /var/www/backend:/var/www/backend
      - /var/www/frontend:/var/www/frontend     
    user: root

 

* 나는 spring 서버 포트를 8000으로 해놨음!

 

그 다음 home/{사용자명} 폴더 아래에 - 나는 ubuntu기 때문에 home/ubuntu 폴더 였다 - jenkins 폴더를 하나 만들어서 그곳에 docker compose 파일을 복사해줬다!

 

모바텀은 드래그 앤 드랍을 지원하기때문에 폴더 만들고 걍 긁어서 넣으면 됨!

 

 

 

그리고 경로를 docker-compose 파일이 있는 곳으로 옮긴 후

 

cd jenkins

 

 

compose 파일을 실행한다!

 

sudo docker-compose up -d

 

그럼 젠킨스 컨테이너를 띄웠다! 호우!

 

docker-compose ps 명령어로 확인할 수 있다!

 

docker-compose ps

 

 

 

이제 플러그인 설치!

 

 

플러그인 설치를 위해서는 공인 ip를 알아야 한당

 

 

curl ip.ojj.kr를 입력하면 ip를 확인할 수 있다.

 

curl ip.ojj.kr

 

 

 

아까 docker-compose 파일에서 젠킨스 포트를 8080으로 했기 때문에 크롬을 켜서 http://{ip주소}:8080을 입력한다

 

 

 

그럼 unlock jenkins 화면이 뜬다 (난 이미 배포를 다 해놔서 캡처를 못훼,,,,)

 

 

 

administrator password를 입력하라고 뜨는데 이걸 확인하는 방법은 sudo docker logs jenkins 명령어를 입력하면 확인할 수 있다!

 

 

sudo docker logs jenkins

 

 

아니면 화면에 뜨는대로 vi var/lib/jenkins/secrets/initialAdminPassword 입력해도 확인 가능~!~!~!

 

vi var/lib/jenkins/secrets/initialAdminPassword

 

 

 

 

그러면 customize jenkins 화면이 뜨면서 두 개의 선택지가 보여지는데

 

나는 왼쪽의 install suggested plugins를 눌렀다.

 

어차피 나중에 원하는 플러그인 추가할 수 있움!

 

 

아까 docker-compose 파일에서 jenkins를 lts 버전으로 설치했는데 그 이유가 이제 나온다...

 

플러그인이 무사히 다 설치되면 다행이지만

 

나는 이런 대참사가 일어났었다...

 

플러그인 설치 오류가 계속 뜨는 것....

사진 출처 : https://ocblog.tistory.com/71

처음에 lts로 설치를 안했더니...허헣.... retry를 해도 계속 다 실패뜸,,,ㅜㅜㅜㅜ

 

그래서 결국 EC2 초기화하고 처음부터 다시 했다....^-^

 

근데 lts로 안해도 플러그인 설치가 잘 되는 경우도 있으니 이건 참고만..!

 

 

 

플러그인 설치가 끝나면

 

계정명, 암호 이름, 이메일을 입력하라고 하는데 계정명, 암호가 나중에 젠킨스에 로그인할 때 쓰인다!

 

이메일은 뭐 그냥 내거 입력했구... 계정명으로는 우리 프로젝트 이름인 fitter로 했다!

 

완료 하면 url을 설정하는데 나는 그냥 넘겼움!

 

 

그럼 쨘!

 

저기 fitter 떠있는건 이미 배포해놓은 것..... 무시하기....^-^

'DevOps > 배포' 카테고리의 다른 글

[EC2] 05. Gitlab + Jenkins 연동하기 (2)  (0) 2023.09.26
[EC2] 05. Gitlab + Jenkins 연동하기 (1)  (0) 2023.09.26
[EC2] 03. MySQL 설치  (0) 2023.09.25
[EC2] 02. Docker 설치(feat. chatGPT)  (0) 2023.09.25
[EC2] 01. EC2 세팅 (NginX, SSL)  (0) 2023.09.25