👷DevOps

[DevOps] 젠킨스 - 도커를 통해 스프링 부트 프로젝트 무중단 배포하기(1/2)
팀 프로젝트를 진행 중, 백엔드 배포를 할 필요성이 생겨 이것저것 자료를 챙겨보게 되었다. 그러나 따라하다 진행 중 만난 에러가 너무 많아 기나긴 삽질 끝에 배포를 해냈다! 나중에도 기록해두면 유용하게 쓰일 것 같아서 정리해 놓고자 글을 쓰게 되었다. 우선 전체적인 아키텍처는 아래와 같다. GCP를 사용해 우분투 20.04 LTS 버전을 사용했으며, 젠킨스를 실행하는 서버, 스프링 부트를 실행하는 서버로 나누어 인스턴스를 2개 사용한다. 우선 젠킨스 서버를 구성해보자. 젠킨스 배포용 서버 구축 우선 젠킨스를 실행시키기 위해 도커를 설치한다. 우분투 자체에 젠킨스를 설치하는 방법도 있으나, 도커 컨테이너로 실행시킬 때의 장점은 아래와 같다. 컨테이너끼리 격리된 환경을 보장해 주기 때문에 충돌을 막을 수 있..

[Jenkins] 에러 - Package 'jenkins' has no installation candidate
에러 AWS EC2 우분투 22.04 LTS에 젠킨스를 설치하려고 하니, 다음과 같은 에러가 발생했다. sudo apt install jenkins 해결 방법 다음과 같은 명령어를 입력해서 설치하면 정상적으로 설치가 된다. wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \ /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins

[Docker] 컨테이너, 이미지 관련 명령어
이미지를 지우기전에 동작중인 컨테이너를 삭제해야 이미지를 삭제할 수 있다. 컨테이너 동작중인 컨테이너 확인 $ docker ps 모든 컨테이너 확인 $ docker ps -a 컨테이너 삭제 $ docker ps -a 여러개 동시 삭제 $docker rm 컨테이너id,컨테이너id 컨테이너 모두 삭제 $ docker rm `docker ps -a -q` 이미지 현재 이미지 $ docker images 이미지 삭제 $ docker rmi 이미지id 컨테이너 삭제하기 전에 이미지 삭제하고 싶을때 $ docker rmi -f 이미지id (-f는 강제의 명령어)

[Docker] 에러 - When using COPY with more than one source file, the destination must be a directory and end with a /
에러 Spring Boot 프로젝트를 gradlew로 빌드하고 Docker 이미지로 올리려는데, 다음과 같은 에러가 발생했다 해결 방법 jar 파일 경로의 문제같은데, 구글링을 해서 ARG와 COPY를 수정해도 똑같이 발생했으며, 다음과 같이 jar를 *이 아닌 구체적으로 설정해주니 에러가 해결됐다.