Linux 패키지의 패키지 및 이미지
Offering: GitLab Self-Managed
아래에서 GitLab이 번들된 의존성과 함께 패키지 및 Docker 이미지를 제공하는 이유에 대한 기본 정보를 확인할 수 있습니다. 이러한 방법은 물리적 및 가상 머신 설치와 간단한 Docker 설치에 적합합니다. 이러한 패키지에는 몇 가지 핵심 목표가 있습니다:
아래에서 GitLab이 번들된 의존성과 함께 패키지 및 Docker 이미지를 제공하는 이유에 대한 기본 정보를 확인할 수 있습니다.
이러한 방법은 물리적 및 가상 머신 설치와 간단한 Docker 설치에 적합합니다.
목표#
이러한 패키지에는 몇 가지 핵심 목표가 있습니다:
- 설치, 업그레이드, 유지 관리가 매우 쉬울 것.
- 다양한 운영 체제 지원
- 클라우드 서비스 공급자의 광범위한 지원
Linux 패키지 아키텍처#
GitLab의 핵심은 Ruby on Rails 프로젝트입니다. 하지만 전체 애플리케이션으로서 GitLab은 더 복잡하고 여러 구성 요소를 가지고 있습니다. 이러한 구성 요소가 없거나 잘못 구성된 경우 GitLab이 작동하지 않거나 예측할 수 없는 방식으로 작동합니다.
GitLab 개발 문서의 GitLab 아키텍처 개요는 이러한 구성 요소 중 일부와 그들이 상호 작용하는 방식을 보여줍니다. 이러한 각 구성 요소는 구성되고 최신 상태로 유지되어야 합니다.
대부분의 구성 요소에는 외부 의존성도 있습니다. 예를 들어, Rails 애플리케이션은 여러 Ruby gem에 의존합니다. 이러한 의존성 중 일부는 올바르게 작동하기 위해 운영 체제에 있어야 하는 자체 외부 의존성도 가지고 있습니다.
또한 GitLab은 월별 릴리스 주기로 최신 상태를 유지하기 위해 빈번한 유지 관리가 필요합니다.
앞에서 나열한 모든 것들이 GitLab 설치를 유지하는 사용자에게 도전 과제를 제시합니다.
외부 소프트웨어 의존성#
GitLab과 같은 애플리케이션의 경우 외부 의존성은 일반적으로 다음과 같은 과제를 가져옵니다:
- 직접 및 간접 의존성 간의 버전 동기화 유지
- 특정 운영 체제에서 버전 가용성
- 버전 변경으로 인해 이전에 사용된 구성이 도입되거나 제거될 수 있음
- 라이브러리가 취약한 것으로 표시되지만 아직 새 버전이 출시되지 않은 경우 보안 영향
운영 체제에 의존성이 있다고 해서 다른 지원 OS에도 반드시 있는 것은 아닙니다.
이점#
번들된 의존성을 가진 패키지의 몇 가지 이점:
- GitLab 설치에 필요한 최소한의 노력.
- GitLab을 시작하고 실행하는 데 필요한 최소 구성.
- GitLab 버전 간 업그레이드에 필요한 최소한의 노력.
- 여러 플랫폼 지원.
- 이전 플랫폼의 유지 관리가 크게 단순화됨.
- 잠재적인 문제를 지원하는 데 덜 노력이 필요.
단점#
번들된 의존성을 가진 패키지의 일부 단점:
- 기존 소프트웨어와의 중복.
- 구성의 유연성이 낮음.
시스템 패키지를 사용할 수 있는데 Linux 패키지에서 패키지를 설치해야 하는 이유#
간단히 말하면: 유지 관리가 덜 필요합니다. 버전이 호환되지 않으면 기존 기능이 중단될 수 있는 여러 패키지를 처리하는 대신 하나만 처리하면 됩니다.
여러 패키지는 여러 위치에서 올바른 구성이 필요합니다. 구성을 동기화 상태로 유지하는 것은 오류가 발생하기 쉽습니다.
모든 현재 의존성을 유지 관리할 기술과 앞으로 도입될 수 있는 모든 미래 의존성을 처리할 충분한 시간이 있다면 Linux 패키지의 패키지를 사용하지 않는 이전 이유가 충분하지 않을 수 있습니다.
이 경로를 가기 전에 두 가지를 염두에 두세요:
- 다수의 사용자가 테스트하지 않은 라이브러리 버전을 사용할 때 존재하는 가능성의 수로 인해 발생하는 문제에 대한 지원을 받기가 더 어려울 수 있습니다.
- Linux 패키지의 패키지는 독립적으로 구성 요소를 실행해야 하는 경우 필요하지 않은 서비스를 종료할 수도 있습니다. 예를 들어 Linux 패키지 설치와 함께 번들되지 않은 PostgreSQL 데이터베이스를 사용할 수 있습니다.
Linux 패키지와 같은 비표준 솔루션은 애플리케이션에 여러 가동 부품이 있을 때 더 적합할 수 있습니다.
여러 서비스가 있는 Docker 이미지#
GitLab Docker 이미지는 Linux 패키지를 기반으로 합니다.
이 이미지에서 생성된 컨테이너에는 여러 프로세스가 포함되어 있으므로, 이러한 유형의 컨테이너는 '팻 컨테이너'라고도 합니다.
이와 같은 이미지에 찬반이 있지만 이전에 언급한 것과 유사합니다:
- 시작하기 매우 간단합니다.
- 최신 버전으로 업그레이드하는 것이 매우 간단합니다.
- 여러 컨테이너에서 별도의 서비스를 실행하고 계속 실행하는 것은 더 복잡하며 주어진 설치에는 필요하지 않을 수 있습니다.
이 방법은 컨테이너와 스케줄러를 막 시작하는 조직에 유용하며 더 복잡한 설치를 위한 준비가 되지 않았을 수 있습니다. 이 방법은 좋은 소개이며 소규모 조직에서 잘 작동합니다.
