목록2024/11 (53)
내 잡다한 노트
Git이란?Git은 버전 관리 도구로, 작업 중인 파일들의 변경 이력을 기록하여 필요할 때 원하는 상태로 돌아갈 수 있도록 돕는다.명령어 기반으로 동작하지만, GitHub Desktop이나 SourceTree 같은 UI 도구도 있다. 다만, 명령어를 잘 익혀야 Git의 다양한 기능을 효과적으로 사용할 수 있다. Git 최초 설정Git은 협업을 위해 커밋한 사람이 누구인지 기록하는 것이 중요하다. 이를 위해 사용자 이름과 이메일을 설정한다.글로벌 설정: 모든 저장소에 적용됨. git config --global user.name "Your Name" git config --global user.email "you@example.com"저장소별 설정: 특정 저장소에만 적용됨. git config user...
파이썬의 가상환경은 특정 프로젝트에 독립적인 패키지 및 라이브러리 환경을 제공하기 위해 사용되는 도구입니다. 가상환경을 사용하면 시스템 전역(global) 파이썬 환경과 분리된 별도의 파이썬 환경을 생성할 수 있습니다. 이를 통해 프로젝트 간의 의존성 충돌을 방지하고, 프로젝트마다 다른 버전의 패키지를 관리할 수 있습니다. 가상환경의 주요 특징독립성 보장프로젝트마다 다른 라이브러리 버전을 사용할 수 있음.시스템의 기본 파이썬 환경이나 다른 프로젝트의 환경에 영향을 주지 않음.재현 가능한 환경 제공requirements.txt 파일을 통해 동일한 환경을 다른 개발자가 쉽게 재현 가능.운영 및 테스트 편리특정 파이썬 버전을 사용하거나 특정 패키지 조합을 테스트하기 용이. 가상환경 사용법1. 가상환경 생성Py..
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, 메모리 등의 자..
젠킨스(Jenkins)란?젠킨스(Jenkins)는 오픈소스 자동화 서버로, 소프트웨어 개발의 빌드(Build), 테스트(Test), 배포(Deploy) 과정을 자동화하기 위해 사용됩니다. 특히 CI/CD(지속적 통합 및 지속적 배포)를 구현하는 데 매우 유용하며, DevOps 환경에서 중요한 역할을 합니다. 주요 기능지속적 통합(CI)코드가 변경될 때마다 자동으로 빌드와 테스트를 실행해 개발 주기를 단축하고 품질을 높입니다.지속적 배포(CD)빌드가 성공하면 자동으로 애플리케이션을 배포해 배포 과정에서의 오류를 최소화합니다.플러그인 시스템Jenkins는 1,800개 이상의 플러그인을 지원하여 다양한 개발 환경과 도구를 통합할 수 있습니다.예: Git, Docker, Kubernetes, Maven, Gra..
GitHub Actions의 self-hosted runner는 CI/CD 작업을 수행하는 에이전트로 작동합니다. 각 노드에 해당 에이전트를 설치하고 실행해야 하며, 리포지토리와 러너 간의 구분 및 관리는 다음과 같은 방식으로 이루어집니다. 1. Self-Hosted Runner의 기본 작동 방식러너는 특정 리포지토리, 조직, 또는 엔터프라이즈 계층에 연결할 수 있습니다.GitHub Actions 워크플로우가 실행될 때, 해당 워크플로우에서 지정한 러너 그룹(또는 태그)에 따라 작업이 배정됩니다.러너는 각 노드에 설치되고, 워크플로우의 runs-on 조건에 따라 선택됩니다. 2. 러너의 구분 방식1) 러너를 리포지토리에 연결특정 러너를 개별 리포지토리에만 연결할 수 있습니다.이렇게 하면, 해당 러너는 ..
pNFS(Parallel Network File System)는 전통적인 NFS(Network File System)의 확장으로, 대규모 데이터 처리와 고성능이 요구되는 환경에서 더욱 향상된 성능을 제공하기 위해 설계되었습니다. pNFS는 특히 빅데이터, 고성능 컴퓨팅(HPC), 클라우드 스토리지 등에서 널리 사용됩니다. 아래에서 pNFS의 성능에 대해 자세히 설명드리겠습니다. 1. pNFS란 무엇인가?pNFS는 NFS 버전 4.1부터 도입된 기능으로, 기존의 NFS 서버를 통한 단일 경로 접근 방식을 벗어나, 클라이언트가 여러 스토리지 서버에 직접 접근하여 데이터를 병렬로 읽고 쓸 수 있도록 지원합니다. 이를 통해 데이터 접근 속도와 처리량을 크게 향상시킬 수 있습니다. 2. pNFS의 성능 특징병렬 ..