현재 진행중인 프로젝트의 백엔드 서버를 AWS에 배포하기 위해 준비중인데, 배치 스케줄링과 CI/CD를 위해 Jenkins를 활용하기로 했습니다.
설치 방법을 조사하던 와중에 최근에 여기저기서 화제인 'ChatGPT의 도움을 받아보는게 어떨까?' 하는 생각이 들었습니다.
우선 Jenkins가 뭔지 물어봤습니다.
다음으로 Linux에 설치되는 Jenkins의 하드웨어 요구 사항에 대해 물어봤습니다.
위와 같은 답변을 받았습니다.
위 사진은 Jenkins 공식 문서에 적혀있는 리눅스 설치 시 요구 사항입니다. ChatGPT의 답변과 기준 수치가 상당히 다르다는 것을 알 수 있습니다.
그래서 좀 더 구체적인 질문을 해봤습니다.
AWS EC2에 배포할껀데 어떤 인스턴스를 사용해야 하는지 물어봤더니 여러가지 옵션을 제시해줬습니다.
저는 소규모 프로젝트 규모에 큰 workload가 예상되지는 않기 때문에 우선 t2.micro
인스턴스를 사용하기로 했습니다.
사용할 OS에 대한 질문에 대해서는 각 옵션의 장단점을 알려줬습니다. 커뮤니티가 크고 troubleshooting에 가용할 수 있는 리소스가 많다는 점 때문에 우분투를 선택했습니다.
우분투 버전은 최신 LTS 버전을 사용하라고 했는데, 2021년 기준 최신 버전은 20.04 LTS
라고 합니다. 2023년 1월 현재 최신 LTS 버전은 22.04 LTS
이므로 해당 버전을 선택했습니다.
EC2 인스턴스를 생성한 후, ChatGPT에게 설치 방법을 물어봤습니다. 필요한 명령어들을 잘 알려주는 것 같지만 3번째 명령어부터 동작하지 않는 문제를 겪었습니다.
그래서 이에 대한 해결 방법을 다시 물어봤습니다.
4번에서 18.04 LTS
보다 높은 버전일 경우에는 공식 Jenkins repository를 사용하는 명령어를 알려줍니다.
이는 공식 문서에서 알려주는 방법과 deb 명령어에 signed-by
옵션이 붙어있는 것을 제외하고는 동일합니다. 해당 명령어를 실행한 후에 sudo apt-get update
와 sudo apt-get install jenkins
명령어를 사용하여 설치와 실행에 성공하였습니다.
아래는 공식 문서에서 안내하는 설치 방법입니다.
설치하고 Jenkins가 실행되면서 또 문제가 발생합니다.
해당 에러 코드를 그대로 붙여넣고 ChatGPT에게 물어봤습니다.
답변대로 1번 명령어부터 실행하여 원인을 파악해봤습니다. 이 과정에서 아래와 같은 에러 메시지를 발견했습니다.
중간에 failed to find a valid Java Installation
라는 문구가 보입니다. 설마했는데 Java가 설치가 안되어있던 문제였습니다.
바로 11버전 JDK를 설치해줬습니다.
참고로 공식 문서에는 아래와 같이 해당 내용을 안내하고 있었습니다.
Jenkins는 기본적으로 8080 포트를 사용합니다.
설치한 EC2 인스턴스의 보안 그룹 설정에서 8080 포트를 열고 접속하면 위와 같이 초기 설정 화면이 나옵니다.
이후 기본적인 플러그인들을 설치하고 마무리하였습니다.
처음으로 ChatGPT를 작업하면서 함께 사용해봤습니다.
생각보다 뛰어난 부분들도 많았지만 아직 완벽하지는 않다는 생각이 들었습니다. 몇몇 정보가 최신화가 안된 부분이 특히 아쉬웠습니다. 결국 가장 정확한 최신 정보는 모두 공식 문서에 있었습니다.
정확한 정보를 얻기 위한 용도 보다는 여러가지 옵션들을 제시해주는 보조 역할로써 생각하면 앞으로도 상당히 도움이 많이 될 것 같습니다.
공식문서를 잘 보자