AWS에 처음부터 배포하기 3) Jenkins의 초기 Plugin 설치가 실패했을 때

Yeshin Lee
5 min readAug 24, 2024

--

Jenkins의 플러그인이 제대로 설치되지 않은 원인 중 하나로 예상한, 인스턴스의 EBS 볼륨을 높여 Jenkins의 플러그인을 재설치한다.

Docker와 EC2 중단

도커나 EC2가 켜져있는 상태에서 볼륨을 늘리면 데이터 손실이 일어날 수도 있으니까.

docker stop [container id]

AWS EC2에서 해당 인스턴스를 선택하고 Instance state에서 Stop instance를 클릭한다.

EBS 볼륨 확장

좌측 메뉴에 위치한 Volume에 접속, 해당 volume을 선택해 Modify Volumes을 클릭한다.

Free tier 범위 내에서 가능한 최대 크기인 30으로 변경한다.

인스턴스 다시 시작

Instance stateStart instance를 클릭하여 인스턴스를 재시작한다.

Instance state는 running이라고 떠서 SSH로 접속을 시도했는데 접속이 안된다.

알고보니 Status check는 initializing 상태였다.

Instance state는 인스턴스 자체의 상태를, Status check는 인스턴스의 정상 작동 여부를 확인하는 테스트다. Status check로 세부적으로 2가지를 테스트하는데 2/2 checks passed 상태로 떠야 SSH 접속을 할 수 있다.

  • System status check: 인스턴스를 호스팅하는 물리적 호스트의 상태 점검
  • Instance status check: 인스턴스 자체의 상태 점검

인스턴스를 중지(Stop)시켰다 다시 시작(Run)하는 과정을 거치면서 변경된 정보가 있다. 바로 Public IPv4 address인데 이는 인스턴스의 IP가 동적으로 할당되기 때문이다.

Docker 재시작 및 Jenkins 재설정

docker restart [container id]

# docker container 관련 정보를 보여준다.
docker ps

‘Up seconds ~’라고 나오며 정상적으로 시작되었다.

  • STATUS에서 보이는 Up은 컨테이너가 실행 중임을 의미한다.

http://[your-public-ipv2-address]:8080으로 접속해 Resume을 누르면 재설치가 시작된다.

내 예상과는 다르게 바로 첫번째 어드민 유저를 생성하는 창으로 이동했다.

save to continue를 누르면 Jenkins URL을 설정하라고 나온다

이 부분은 도메인을 입력하면 되는데 아직은 없으므로 save and finish를 누른다.

여기에서 start를 누르면 내가 원하던 모습이 나타난다.

왼쪽 상단 위에 있는 노란색 알람을 클릭하면 설치 실패했던 플러그인 목록이 나타난다.

이는 좌측 메뉴의 Manage Jenkins에서도 확인할 수 있는데, Available plugins에서 설치 실패한 플러그인을 찾아 수동으로 업데이트 해준다.

설치가 완료되면 맨 아래에 있는 ‘restart Jenkins ~’ 에 체크하여 재시작해야 플러그인이 적용된다.

어떤 플러그인이 설치 실패했는지 모르겠다면, 좌측 메뉴의 Installed plugins 항목에서 빨간 박스로 표시된 플러그인을 찾아 설치하면 된다.

플러그인을 설치할 때마다 restart하는 과정이 번거로울 때는 페이지 맨 하단으로 내려보자

필요한 플러그인을 전부 다운로드 완료한 후 페이지 맨 하단의 ‘Restart Once No Jobs Are Running’ 버튼을 누르면 더욱 간편하게 설치할 수 있다.

플러그인 목록을 훝어보니 Apache, Git, SSH, 각종 API와 Pipeline 등이 설치되었다.

나는 기본 플러그인만 설치했지만 좀 더 살펴보고 싶다면 다음 사이트를 참고해보자.

참고로 Jenkins 기본 로고보다 더 멋있다.

다음 시간에는 Jenkins로 배포할 수 있는 환경을 조성할 것이다.

--

--