[Jenkins] Jenkins 분산 빌드 파이프라인 구축 정리
·
⚙️ Ops/CI & CD
Jenkins 정리 환경 Jenkins Version 2.407 분산 빌드 환경 사용 (Local = Agent, EC2 = Controller) 추후 빌드 속도에 따라 Local을 LightSail로 변경의 소지가 있습니다. 목차 EC2 생성 + 환경 세팅 스크립트 작성 Jenkins Credential 등록 (SSH Key, Github Token, Docker Hub Token 생성 & 입력 & 등록) Jenkins Plugin 설치 Local Jenkins Controller에서 노드 등록 EC2 생성 + 환경 세팅 스크립트 작성 EC2를 생성하기 전, 보안그룹의 포트를 열고 허용할 IP대역을 추가해줍니다. 보안 그룹 생성 내 Local의 공인 IP를 확인하여 EC2 Instance에서 사용할 포..
Docker Private Registry 구축
·
⚙️ Ops/Docker
Docker Container Registry 구축 Docker Hub에 프로젝트 내용을 올리면 안되니 Local에 이미지들을 저장합니다. Docker Login $ docker login -u [닉네임] Docker Registry Base Image 가져오기 $ docker pull registry:latest insecure 설정 아래 내용 전부 다 작성, Local-IP 부분엔 자신의 로컬머신 or 인스턴스 IP를 적는다 $ vi /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": {"max-size": "100m"}, "storage-driver":"..
[Jenkins] EC2 생성 후 Setting Script 작성
·
⚙️ Ops/CI & CD
서버 세팅 스크립트 #!/bin/bash # APT 업데이트 apt-get -y update ate-get -y upgrade echo ----- APT Update 종료 ---- | tee settinglogs # 기본 패키지 설치 apt install -y firewalld net-tools curl wget gnupg lsb-release ca-certificates apt-transport-https software-properties-common gnupg-agent openjdk-11-jdk echo ----- 기본 패키지 설치 완료 ----- >> settinglogs # OpenJDK 전역변수 설정 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64..
[Jenkins] Dockerfile & Shell Script 작성
·
⚙️ Ops/CI & CD
Script 작성 Jenkins의 Item 설정 마지막 부분의 Build Steps에서 Add Build Step 클릭 Execute Shell을 선택해서 스크립트 창을 열어서 아래 스크립트를 테스트 해보면서 작성한다. #!/bin/bash # Gradlew 권한 부여 chmod 500 ./gradlew # 빌드 ./gradlew build # 가동중인 Spring Boot 컨테이너 중 이름이 cosmic 인 컨테이너 중지 & 삭제 if docker ps -a --filter "name=cosmic" | grep -q cosmic; then docker stop cosmic docker rm cosmic fi # 기존 Spring Boot Image 중 이미지가 기존과 똑같은게 있으면 이미지 삭제 if ..
[Jenkins] Jenkins 기본 설정 (On Local)
·
⚙️ Ops/CI & CD
Jenkins 설정 (On Local) Jenkins Version : 2.387.3 Jenkins 설치 $ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - $ curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc > /dev/null $ echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pkg.jenkins.io/debian-stable binary/ | sudo..