반응형
일단 두개의 서비스가 동시에 돌아가야하므로 t2.small 로 선택했다.
도커 설치
# Docker 설치
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# Docker 공식 GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Docker 리포지토리 추가
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Docker 설치
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# Docker 서비스 시작 및 활성화
sudo systemctl start docker
sudo systemctl enable docker
Root 권한 없이 도커 사용을 위해 권한 부여
sudo usermod -aG docker $USER
# EC2에서 로그아웃 후 재접속
exit
젠킨스에서 SpringBoot 빌드에 사용할 JDK를 설치한다.
# 패키지 목록 업데이트
sudo apt update
# JDK 17 설치
sudo apt install -y openjdk-17-jdk
# 설치 확인
java -version
젠킨스 서버에서 aws 서비스에 접속을 위한 awscli도 설치해준다
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
메모리 부족 상황이 발생할경우(ec2 t2.micro small 같은 경우)
스왑 메모리를 늘려줘야 젠킨스가 죽는 경우가 줄어든다..
스왑 메모리를 늘려주자
// swap 파일을 생성해준다. (메모리 상태 확인 시 swap이 있었지만 디렉토리 파일은 만들어줘야한다.)
$ sudo mkdir /var/spool/swap
$ sudo touch /var/spool/swap/swapfile
$ sudo dd if=/dev/zero of=/var/spool/swap/swapfile count=2048000 bs=1024
// swap 파일을 설정한다.
$ sudo chmod 600 /var/spool/swap/swapfile
$ sudo mkswap /var/spool/swap/swapfile
$ sudo swapon /var/spool/swap/swapfile
// swap 파일을 등록한다.
$ sudo vim /etc/fstab
파일이 열리면 해당 파일 아래쪽에 하단 내용 입력 후 저장
- 입력 할 수 있도록 하는 명령어 -> i
- 파일 수정 후 저장하는 명령어-> esc키 누른 후 :wq 입력 후 엔터
/var/spool/swap/swapfile none swap defaults 0 0
// 메모리 상태 확인
$free -h
Linux
Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software
www.jenkins.io
공식 문서를 참고하는 것도 추천~
# 패키지 레포지터리 내려받기
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian/jenkins.io-2023.key
# Then add a Jenkins apt repository entry:
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
# Update your local package index, then finally install Jenkins:
sudo apt-get update
sudo apt-get install jenkins
젠킨스가 도커를 사용할 수 있도록 Docker 그룹에 추가
sudo usermod -aG docker jenkins
설치가 완료 되었다면?
sudo systemctl start jenkins
sudo systemctl enable jenkins
젠킨스슬 시작하고
http://<EC2-Public-IP>:8080
접속시
이런 화면이 나온다
터미널에
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
입력하면
이런식으로 문자열이 나오는데 그대로 젠킨스 화면에 입력해준다
자동으로 필요한 플러그인들이 설치된다.
계정 생성을 마친 후
Jenkins 관리에 들어가
SSH Agent 플러그인을 설치해준다.
AWS Credentials도 설치해준다.
반응형
'DevOps' 카테고리의 다른 글
젠킨스 서버가 죽었다.. (0) | 2025.03.28 |
---|---|
Jenkins(젠킨스)는 도커 컨테이너로 돌리지 말자 (0) | 2025.03.21 |
개발 환경과 서버 환경의 아키텍처 일치성: 스프링 부트 관점에서 (0) | 2025.03.19 |
Github Action arm64 아키텍처로 ci/cd 구축하기 (0) | 2025.03.19 |