cicd 3

[Docker] docker-compse로 배포 서버에서 redis 통신하기

개요 배포 서버에서 redis와 백엔드 컨테이너가 통신하려면 같은 docker group으로 묶어줘야 서로 통신이 가능하다.docker-compose란?도커 컴포즈는 단일 서버에서 여러 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리할 수 있도록 환경을 제공하는 도구이다. 도커 컴포즈는 yml 파일로 여러 개의 컨테이너의 실행을 한 번에 관리한다.따라서 여러 컨테이너를 사용할 때는 도커 컴포즈로 하나의 그룹으로 묶어 통신을 해줘야 한다. 진행 과정 도커 컴포즈를 설치해주고  백엔드 EC2 서버에 ssh 접속으로 연결을 해주고 루트에 docker-compose.yml 파일을 만들어준다.ubuntu@ip-...:~$ ls -altotal 3476drwxr-x--- 8 ubuntu ubuntu ..

인프라 2024.06.26

[Jenkins] 젠킨스 Built-In Node 오프라인 문제

문제 상황 /var/jenkins_home 디렉토리의 저장공간이 1.00GiB 이상 필요해서 노드 사용할 수 없어서 자동으로 빌드할 수 없고 노드가 오프라인으로 강제 전환되는 상황이 발생했다. 해결 방법 젠킨스를 설치한 EC2에 SSH 연결해서 콘솔로 들어 간 후에 아래 명령어를 통해 도커 공간 정리해줘서 용량을 확보후 빌트인 노드 온라인으로 전환시켜서 해결했다.# 사용하지 않는 컨테이너 삭제$ docker container prune# 도커에 저장된 볼륨을 정리$ docker volume prune# 미사용 중인 이미지를 제거docker image prune -a# 한 번에 삭제하는 명령어 (이미지, 캐시, 네트워크, 빌드 캐시, 컨테이너)docker system prune -a -f

인프라 2024.06.26

[AWS, Docker, Jenkins] 도커 + 젠킨스 + EC2 로 CICD 구축 후 배포하기

배포 개요도커와 젠킨스로 CICD를 구축하고, EC2로 백엔드 서버와 프론트 서버를 배포해보자.초기에는 백엔드, 프론트, 젠킨스 각각의 EC2를 생성해서 배포를 진행하였는데, 비용 문제로 프론트 서버는 추후에 S3로 변경했다. 서비스 아키텍처- 백엔드 배포 : 도커 파일을 젠킨스가 감지해서 jar 파일 생성하여 EC2로 배포한다.- 프론트 배포 : 마찬가지로 진행한다.구축 과정1. 젠킨스 서버 EC2 설정jenkins-server EC2 생성AMI : Ubuntu Server 22.04 LTS (HVM), SSD Volume Type아키텍처 : 64비트 x86Quick start : ubuntu인스턴스 유형 : t2.micro키페어 생성 후 저장 (jenkins-key-pair)네트워크 설정 : 보안그룹..

인프라 2024.06.26