Docker 12

[Spring] 소나큐브(SonarQube) CI 파이프라인 구축 (with Gitea)

OverviewSpring Boot (3 버전)에서 소나큐브(SonarQube) CI 파이프라인 구축 (with Gitea) Prerequisite* Spring Boot 3.2.7* Java 17* Gradle 8.1* Sonarqube 5.0.0.4638* Jacoco 0.8.11* Gitea 설치 - [Git] Docker를 통한 Gitea 구축하기(GitLab과 차이)* 소나큐브(SonarQube) 설치 및 Spring Boot 3 설정 - [Spring Boot 3] 소나큐브(SonarQube), JaCoCo 연동하여 정적 분석* 설치 확인Demo 애플리케이션(Spring Boot 3)에는 Sonarqube, JaCoCo가 연동되어 있어야하고, Gitea에 코드가 Push된 상태여야 합니다. 이..

Git 2024.07.05

[Gitea] Gitea를 통한 CI 파이프라인 구축 (with Nexus)

OverviewGitea를 통한 CI 파이프라인 구축 (with Nexus)[Gitea] Gitea를 통한 CI 파이프라인 구축 (with Docker Hub) PrerequisiteGitea 구축 (링크)HTTPS 적용 (링크)Nexus 구축 (링크) Action Runner 생성// Create Actions Runner Config// act_runner 버전은 현재 기준으로 0.2.10이 최신입니다.$ docker run --entrypoint="" --rm -it gitea/act_runner:0.2.10 act_runner generate-config > config.yaml// Create Actions Runner// ${INSTANCE_URL} = http://xx.xx.xx.xx:300..

Git 2024.06.14

[Nexus] Nexus를 통한 Private Image Registry 구축

OverviewDocker Image 저장소로 Docker Hub, Harbor, AWS ECR 등을 많이 사용합니다. 이 글에서는 Nexus를 통한 Private Image Registry 구축을 진행하도록 하겠습니다. HTTP에서는 사용이 다소 제한적이라서 무료 도메인과 Let's Encrypt를 통해서 HTTPS를 적용한 후에 진행하도록 하겠습니다. HTTP에서 진행하고자 한다면 insecure registries 설정을 확인해보시길 바랍니다. PrerequisiteAWS EC2 (최소 t2.medium) Docker 설치[Docker] Ubuntu에 Docker 설치하기 Docker Compose 설치[Docker] Ubuntu에 Docker Compose 설치하기 Nginx 설치 (Reverse..

Server 2024.06.14

[Gitea] Gitea를 통한 CI 파이프라인 구축 (with Docker Hub)

OverviewGitea를 통한 CI 파이프라인 구축 (with Docker Hub) PrerequisiteGitea 구축 (링크)Docker Hub 계정 (링크)  Action Runner 생성// Create Actions Runner Config// act_runner 버전은 현재 기준으로 0.2.10이 최신입니다.$ docker run --entrypoint="" --rm -it gitea/act_runner:0.2.10 act_runner generate-config > config.yaml// Create Actions Runner// ${INSTANCE_URL} = http://xx.xx.xx.xx:3000/// ${REGISTRATION_TOKEN} = Gitea > 설정 > Actions..

Git 2024.06.05

[Git] Docker를 통한 Gitea 구축하기(GitLab과 차이)

Overview Gitea 구축하기 (링크)[Docker] Ubuntu에 Docker 설치하기 (링크)[Docker] Ubuntu에 Docker Compose 설치하기 (링크) Gitea를 선택한 이유사내 Git 서버를 구축하려고 찾아보던 중, Gitea와 GitLab에 대해서 알게되었습니다. 단순히 비교를 했을때, GitLab이 더 보편적으로 사용되고 있고, 참고할 문서도 많아서 GitLab을 선택했습니다. GitLab을 구축하면서 최소 사양 4 cores CPU, 4GB RAM로 많이 무겁다는 것을 알았습니다. 많은 3rd Party 서비스들의 통합이 주된 이유로 보였습니다.이에 반해, Gitea는 최소 사양 1 cores CPU, 1GB RAM로 경량화가 되어있고, 필요한 기능(CI, Reposit..

Git 2024.05.31

[Docker] Ubuntu에 Docker 설치하기

Overview Ubuntu에 Docker 설치하기설치$ sudo apt update$ sudo snap install docker$ sudo docker ps// Docker 그룹 생성// Snap을 통한 설치는 Docker 그룹을 만들지 않습니다.$ sudo addgroup --system docker// sudo 없이 Docker 명령어 입력하기$ sudo usermod -a -G docker $USER// 재부팅$ sudo reboot$ docker ps Docker 재실행// Docker Snap 재실행$ sudo systemctl restart snap.docker.dockerd$ sudo systemctl status snap.docker.dockerd

Docker 2024.05.31

[Kubernetes] 클러스터 운영 시 고려 사항

1. 상용 쿠버네티스 클러스터를 프로비저닝하기 전에 필요한 노드 수와 크기를 고려하자. 2. 마스터 노드는 최소한 3개가 필요하며(관리형 서비스를 사용한다면 필요하지 않다.) 워커 노드는 최소한 2개(이상적으로는 3개)가 필요하다. 초기에 적은 양의 워크로드를 실행할 때는 이러한 쿠버네티스 클러스터의 비용이 비싸 보일 수 있다. 그러나 쿠버네티스의 장점인 복구와 확장 기능을 잊지 말자. 3. 쿠버네티스 클러스터는 수천 개의 노드와 수십만 개의 컨테이너로 확장할 수 있다. 4. 그 이상으로 확장이 필요하다면 멀티 클러스터를 사용하자(경우에 따라 보안이나 규제 준수를 위해 필요할 수 있다.). 여러 클러스터에 걸친 워크로드의 레플리카가 필요하다면 페더레이션을 사용하여 클러스터를 하나로 통합할 수 있다. 5...

Kubernetes 2024.04.03

[Docker] 도커에 Jenkins 설치

사전 준비 1. Docker Desktop 설치 2. Docker 사전 지식 Jenkins 설치 docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 --restart=on-failure --name jenkins-server jenkins/jenkins:lts-jdk17 1. -d: 백그라운드 모드 2. -v: 데이터 바인딩 3. -p: 외부 접속 8080 포트 바인딩 4. --restart: 비정상 종료 시 컨테이너를 재실행 5. --name: 컨테이너 이름 6. image: jenkins/jenkins:lts-jdk17 Jenkins 접속 확인 * http://localhost:8080 접속 $ docker exec -it $CONTAINER_..

Docker 2023.10.10

[CKAD] Application Design and Build

CKAD 시험 비중 (20%) Docker Container Build 다음의 조건으로 appjs:latest 컨테이너를 빌드하세요. * 빌드 디렉토리: ~/app_build/appjs * /data/ckad/app.js 의 파일을 ~/app-build/appjs로 이동한 후 다음 조건에 맞게 컨테이너를 빌드하세요. 1. base image: node:12 2. app.js 파일을 컨테이너 / 디렉토리로 복사 3. 컨테이너 실행 시 node app.js가 동작되어야 한다. * 빌드한 컨테이너를 실행하세요. $ vi Dockerfile FROM node:12 COPY app.js / CMD ["node", "app.js"] or ENTRYPOINT $ docker build -t appjs:latest ...

CKAD 2023.05.27