고딩왕 코범석
1. Docker로 Jenkins 설치하기 본문
안녕하세요! 이번 포스팅에서는 jenkins를 aws ec2에서 설치하는 시간을 가져보겠습니다. 우선 본인의 ec2를 생성해주세요! 저는 ubuntu 20.04 환경에서 진행하도록 하겠습니다.
먼저, docker를 설치해야겠죠? ec2를 접속해주신 다음, 다음 명령어들을 실행해주세요. docker 공식 문서를 참조했습니다.
sudo apt-get update
# https에서 docker repository를 사용하게끔 해주기
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
# gpg key 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 저장소 업데이트
sudo apt-get update
# 도커 설치!
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 확인하기
apt-cache madison docker-ce
apt-cache madison docker-ce 를 입력하셨을 경우, 다음과 같이 나오게 됩니다.
테스트를 위해 hello world를 run 해보겠습니다.
sudo docker run hello-world
이렇게 메세지가 잘 나오는 것을 확인할 수 있습니다. 그 다음, docker의 권한 설정을 해볼게요. 지금 이 상황에서 docker ps 를 입력하면 다음과 같은 에러가 발생합니다.
다음 명령어를 실행해주시고 ec2에 재접속 해봅시다.
sudo usermod -aG docker $USER
# 재접속 후
docker ps
다음과 같이 sudo를 하지 않아도 정상적으로 컨테이너 목록이 나옵니다. 이제 본격적으로 jenkins를 설치해보겠습니다. 저는 JDK 버전 11을 사용하는 젠킨스 이미지를 받겠습니다!
# jenkins 이미지 가져오기
docker pull jenkins/jenkins:lts-jdk11
# jenkins 실행하기
docker run --name jenkins-docker -d -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -u root jenkins/jenkins:lts-jdk11
jenkins 실행 명령어는 다음을 의미합니다.
jenkins/jenkins:lts 이미지를 jenkins-docker라는 이름으로 백그라운드에서 컨테이너로 올리겠다. 포트는 8080번은 이 컨테이너의 8080으로, 50000번도 이 컨테이너의 50000으로, 지금 띄워질 컨테이너에서 /var/jenkins_home 폴더를 내 ec2의 /home/jenkins 폴더로 마운트 할거다.라는 의미로 해석하시면 될 것 같아요. 실제로 확인해보면
이렇게 /home 디렉터리 밑에 jenkins 디렉터리가 있는 것을 확인할 수 있고, 컨테이너에 접속해서 확인해보면
docker exec -it jenkins-docker /bin/bash
요롬코롬 확인하실 수 있습니다. ec2 ip의 8080포트에 들어가볼까요? 아차! 8080포트 보안 그룹에 추가하시는거 잊지 마시구요!
이런 화면을 보실 수 있어요. 저 폴더에 가서 비밀번호를 확인해보겠습니다.
# jenkins 컨테이너에 들어가서
docker exec -it jenkins-docker /bin/bash
# 비밀번호 확인하기
cat /var/jenkins_home/secrets/initialAdminPassword
그럼 이렇게 패스워드가 나올거에요. 입력하고 들어가봅시다!
이 화면이 뜰거에요. 왼쪽을 선택하고 설치되는 과정을 조금만 기다립시다!
계정을 만들어준 다음, 로그인하면!
이 화면을 보실 수 있습니다!
이번 포스팅은 여기서 마무리하겠습니다. 그럼 다음 포스팅에서 만나요!
'Infra > CI & CD' 카테고리의 다른 글
3. Github에서 Push할 때 Jenkins가 자동으로 Build하게 설정해보기! (0) | 2021.06.23 |
---|---|
2. Github Repository의 코드를 Build해보자! (0) | 2021.06.23 |