목록DevOps (94)
내 잡다한 노트
Dockerfile에서 UID를 설정하거나 명시적으로 처리하는 이유는 컨테이너의 사용자 권한 관리 및 보안성을 강화하기 위해서입니다. 아래 주요 이유를 살펴보겠습니다.1. 호스트와의 파일 권한 충돌 방지컨테이너에서 생성된 파일은 기본적으로 컨테이너 내부의 사용자 ID(UID)와 호스트 시스템의 사용자 ID가 다를 수 있습니다. 이 경우, 컨테이너가 생성한 파일이 호스트에서 읽기/쓰기 불가능하거나, 접근 권한 문제를 일으킬 수 있습니다.예: 컨테이너에서 UID가 1001인 사용자가 생성한 파일은 호스트에서 다른 사용자처럼 보일 수 있습니다.해결: Dockerfile에서 컨테이너 내부의 사용자와 UID를 명시적으로 설정하면, 호스트 시스템과의 호환성을 높일 수 있습니다.2. 보안 강화컨테이너는 기본적으로 r..
**PROVISIONING(프로비저닝)**은 IT와 클라우드 환경에서 자원을 설정, 준비, 관리하여 사용자가 사용할 수 있도록 만드는 과정을 의미합니다. 이는 물리적 하드웨어, 소프트웨어, 네트워크, 스토리지, 가상화 자원 또는 사용자 계정을 포함한 다양한 리소스를 포함할 수 있습니다. PROVISIONING의 기본 개념프로비저닝은 자원 할당 및 준비를 목적으로 하며, 주로 다음 단계로 구성됩니다:자원의 준비 (Preparation)필요한 하드웨어 또는 소프트웨어를 선택하고 설치, 설정.예: 클라우드 환경에서는 컴퓨팅 인스턴스를 생성하거나 데이터베이스를 설정.구성(Configuration)사용자 정의 요구사항에 맞게 시스템 또는 자원을 설정.예: 서버의 CPU, 메모리 크기, 네트워크 설정 등을 정의...
처음에 jenkins를 설치하고 password를 입력하고 플러그인을 생성한 뒤에 볼 수 있는 페이지이다.각각에 대해 알아보고자 글을 작성하게 됐다. 1. Freestyle Project설명: 가장 기본적인 Jenkins 작업 유형으로, 단순한 CI/CD 프로세스에 사용됩니다.SCM(소스 코드 관리)에서 소스 코드를 가져옴.빌드 단계를 직렬로 실행.빌드 후 단계(예: 아티팩트 저장, 이메일 알림 전송 등)를 추가 가능.특징:간단한 빌드/배포 파이프라인 구현.플러그인을 통해 추가 기능 확장 가능.적합한 경우:간단한 CI/CD 작업(예: 코드 빌드, 스크립트 실행).파이프라인 구성 없이 빠르게 작업 설정이 필요한 경우.2. Pipeline설명: Jenkins의 강력한 작업 유형으로, 스크립트 기반 파이프..
Jenkins에서 agent는 파이프라인 작업을 실행하는 데 필요한 환경을 제공하는 컴퓨터나 컨테이너를 의미합니다. 파이프라인의 각 단계(빌드, 테스트, 배포 등)는 이 agent에서 실행됩니다. 1. Jenkins의 Agent란?역할파이프라인 작업 실행Jenkins Master(Controller)에서 정의한 작업을 받아 실제로 실행하는 역할을 합니다.예: 소스코드 빌드, 테스트 수행, 배포 작업.작업 분배Jenkins Master는 작업을 분배하고 관리하며, Agent는 할당된 작업을 실행합니다.여러 Agent를 사용하면 작업을 병렬로 처리하거나, 특정 환경에서 실행할 작업을 분리할 수 있습니다.환경 제공빌드/테스트 작업에 필요한 도구와 라이브러리가 설치된 환경(예: 특정 운영체제, 도커 컨테이너 등..
Groovy는 Java 플랫폼 위에서 실행되는 동적 객체 지향 프로그래밍 언어입니다. Apache Software Foundation에서 관리하며, Jenkins와 같은 자동화 도구에서 스크립트를 작성하고 워크플로우를 정의하는 데 자주 사용됩니다. 1. Groovy란?Groovy는 다음과 같은 특징을 가진 프로그래밍 언어입니다:Java 기반 언어Groovy는 Java Virtual Machine(JVM) 위에서 실행되며, Java 코드와 100% 호환됩니다.Java 라이브러리를 직접 사용하거나 Java 코드와 혼합해서 사용할 수 있습니다.동적 타입 지원Java처럼 강타입 언어가 아닌 **동적 타입(dynamic typing)**을 지원하여 코드를 더 간결하게 작성할 수 있습니다.스크립팅 언어Groovy..
DORA ( DevOps Research and Assessment ) 메트릭은 소프트웨어 개발 및 운영 팀이 데브옵스 성과를 측정하고 개선할 수 있도록 하는 핵심 지표이다. Google Cloud에서 관리하는 DORA 그룹이 연구를 통해 개발한 이 메트릭은 팀의 소프트웨어 배포 속도와 안정성을 평가하는 데 사용된다. DORA 메트릭은 다음 4가지 핵심 지표로 구성된다. 1. Deployment Frequency (배포 빈도)팀이 코드를 얼마나 자주 프로덕션에 배포하는지를 측정합니다.높은 배포 빈도는 팀이 소규모 변경을 자주 릴리스하며, 이를 통해 위험을 줄이고 사용자에게 더 빠르게 가치를 전달한다는 것을 의미합니다. 고성과 팀: 하루에 여러 번 배포.저성과 팀: 몇 달에 한 번 배포. 2. Lead T..
by 라는 키워드는 그룹화를 위해 사용되는 키워드이다. by는 지정된 레이블별로 데이터를 그룹화하거나 집계 결과를 나눠서 보여주라는 의미이다. 예시 : sum(rate(container_cpu_usage_seconds_total[5m])) by ( container_label_com_docker_compose_service)라는게 있다면 container_label_com_docker_compose_service 라는 레이블로 데이터를 그룹화하여 각각의 CPU 사용량을 보여준다.
젠킨스의 Master-Agent 아키텍처는 작업(빌드, 테스트, 배포 등)을 분산해서 실행하도록 설계되었습니다. 이를 통해 젠킨스는 확장성과 성능을 극대화할 수 있습니다. 젠킨스 에이전트란?**에이전트(Agent)**는 젠킨스 마스터의 지시에 따라 실제 빌드나 작업을 실행하는 서버 또는 프로세스입니다.이를 통해 젠킨스는 여러 서버에서 병렬로 작업을 실행할 수 있어 대규모 프로젝트에서도 효율적으로 운영됩니다. Master-Agent 아키텍처Master (컨트롤러)젠킨스의 중심 역할을 담당하며 다음과 같은 기능을 수행합니다:작업(빌드, 테스트, 배포) 스케줄링.작업 로그 수집 및 표시.에이전트 관리.플러그인 및 사용자 인터페이스 제공.Agent (노드)실제로 작업을 실행하는 노드로, CPU, 메모리 등의 자..