Infra(12)
-
Jenkins-GitLab 연동
목표개발자 코드 pushGitLab이 Jenkins 호출(Webhook)Jenkins가 자동으로 코드 가져오기Docker 이미지 빌드컨테이너 재배포 GitLab Plugin 설치Jenkins 대시보드에서 Manage Jenkins -> Plugins -> Available plugins -> GitLab 설치. GitLab 접속 정보 (Personal Access Token) 생성Jenkins가 GitLab 저장소에 접근할 수 있도록 개인용 접속 토큰을 만든다.GitLab 로그인 -> User Settings -> Access Tokens -> Add New Tokens.Token name : 식별하기 쉬운 이름(jenkins-access)Scopes(권한)에서 api 체크 : 최소 권한 원칙을 지키기 ..
2025.08.11 -
Jenkins 시작
이전에 docker-compose.yml로 전체 시스템을 코드화했다.이 시스템을 업데이트하는 과정을 자동화하자. 왜?git pulldocker compose builddocker compose up -d이 과정을 대신하는 자동화 비서를 도입하자.개발자가 코드를 push하는 행동을 감지하여 배포 명령을 알아서 자동으로 실수 없이 실행한다.자동화 : 반복적인 수동 배포 작업을 없애고 휴먼 에러 방지.중앙 관리 : 모든 빌드 및 배포 이력과 로그가 Jenkins에 기록되어 추적 용이.통합 : Git, Docker, SonarQube 등 다양한 개발 도구와 연동하여 정적 코드 분석, 테스트 자동화 등 복잡한 파이프라인 구성 가능. Jenkins 컨테이너 생성mkdir ~/jenkins-dockernano ~/j..
2025.08.11 -
Docker Compose
Docker Compose여러 개의 컨테이너로 구성된 애플리케이션을 정의하고 실행하기 위한 도구.명령어 단순화 : docker run에 붙이던 옵션들을 YAML 파일에 모두 정리할 수 있다.서비스 전체 관리 : docker-compose up 명령으로 모든 서비스를 한 번에 띄울 수 있다.네트워크 자동화 : 모든 서비스를 위한 전용 내부 네트워크를 자동 생성한다. 서비스들은 네트워크 안에서 컨테이너 이름으로 서로를 쉽게 찾아 통신할 수 있다. Docker Compose 설치#Docker Compose 플러그인 설치sudo apt-get updatesudo apt-get install -y docekr-compose-plugin#설치 확인docker compose version 프로젝트 구조 정리~/tes..
2025.08.08 -
컨테이너
이전에 테스트 애플리케이션(Spring Boot, FastAPI)을 만들 때는 서버에 폴더 만들어서 구조만 맞췄다.지금 프로젝트에서는 서버에 접속하는 사람이 나뿐이라 위험이 덜하지만, 나중에는 그러지 말자.로컬 : 꿈을 펼쳐라. 하고 싶은 거 다 해~IDE, 디버거 등 개발에 필요한 모든 것이 갖춰져 있다.이것저것 시도하다가 박살나도 아무에게도 피해가 없다.빠른 테스트로 바로 개선할 수 있다.서버 : 실수를 용납하지 않는 서비스 공간.모든 것이 정해진 규칙과 보안에 따라 동작한다.오직 검증되고 완성된 빌드 파일만 올린다.실수하면 서비스 장애로 신뢰가 무너지고 사용자 경험을 해친다.동시 작업 시 엄청난 혼란 야기. => 그러니까 git을 사용하는 것.Docker는 서버에 올려야 테스트가 가능하지 않나?를 ..
2025.08.07 -
GPG(GNU Privacy Guard)
Docker 설치하다가 GPG 키를 추가해야 한다고 했다.근데 나는 GPG가 뭔지 모른다. 알아보자. GPG데이터를 암호화하고 디지털 서명을 생성하는 데 사용되는 도구.리눅스에서 소프트웨어(Docker, Nginx 등)를 설치할 때 GPG 키가 디지털 서명 형태로 사용.제품의 정품 인증 씰과 같은 역할. 용도개발사 서명 : 개발사(Docker)가 소프트웨어 배포 전에 개인 키로 소프트웨어 패키지를 서명한다.사용자 검증 : 사용자가 Docker가 배포한 공개 키를 미리 다운로드한다.확인 : sudo apt-get install 명령어를 실행하면, apt 시스템이 다운로드한 Docker 패키지에 포함된 서명을 사용자 소유의 공개 키로 열어본다.성공 : 공개 키로 서명이 성공적으로 열리면, 공개 키와 개인 키..
2025.08.06 -
Docker 설치
이전까지 OS에 직접 애플리케이션을 설치했지만, 이제 컨테이너에 담아 관리하자. 왜 Docker container?일관성애플리케이션과 실행에 필요한 모든 것(라이브러리, 런타임 등)을 하나의 이미지로 패키징한다.이미지는 노트북, 테스트 서버, 운영 서버 어디든 동일하게 실행된다.집에서는 됐는데,,,하는 문제는 이제 없다.격리컨테이너들은 각자 격리된 환경에서 실행.Spring Boot와 FastAPI 라이브러리가 서로 다른 버전을 사용해도 충돌할 일이 없다.효율성가상머신(VM)보다 훨씬 가볍다.한 서버에 수많은 컨테이너를 실행하여 자원을 효율적으로 사용할 수 있다. 설치sudo apt-get updatesudo apt-get install -y apt-transport-https ca-certificate..
2025.08.06