튜토리얼: GitLab CI/CD로 Python 패키지 빌드 및 서명
튜토리얼: GitLab CI/CD로 Python 패키지 빌드 및 서명에 대해 설명합니다.
이 튜토리얼은 Python 패키지를 위한 안전한 파이프라인을 구현하는 방법을 보여줍니다. 파이프라인에는 GitLab CI/CD와 Sigstore Cosign 을 사용하여 Python 패키지를 암호화적으로 서명하고 검증하는 단계가 포함됩니다. 이 튜토리얼을 완료하면 다음을 배울 수 있습니다: GitLab CI/CD를 사용하여 Python 패키지를 빌드하고 서명하는 방법. 일반 패키지 레지스트리를 사용하여 패키지 서명을 저장하고 관리하는 방법. 최종 사용자로서 패키지 서명을 검증하는 방법. 패키지 서명의 이점은 무엇인가요? # 패키지 서명은 몇 가지 중요한 보안 이점을 제공합니다: 진위성: 사용자는 패키지가 신뢰할 수 있는 소스에서 왔는지 검증할 수 있습니다. 데이터 무결성: 패키지가 배포 중에 변조된 경우 감지됩니다. 부인 방지: 패키지의 출처를 암호화적으로 증명할 수 있습니다. 공급망 보안: 패키지 서명은 공급망 공격 및 손상된 저장소로부터 보호합니다. 시작하기 전에 # 이 튜토리얼을 완료하려면 다음이 필요합니다: GitLab 계정 및 테스트 프로젝트. Python 패키지, GitLab CI/CD 및 패키지 레지스트리 개념에 대한 기본 지식. 단계 # 다음은 수행할 작업의 개요입니다: Python 프로젝트 설정. 기본 구성 추가. 빌드 단계 구성. 서명 단계 구성. 검증 단계 구성. 게시 단계 구성. 서명 게시 단계 구성. 소비자 검증 단계 구성. 사용자로서 패키지 검증. Python 프로젝트 설정 # 먼저 테스트 프로젝트를 만듭니다. 프로젝트 루트에 pyproject.toml 파일을 추가합니다: [build-system] requires = [ "setuptools>=45" , "wheel" ] build-backend = "setuptools.build_meta" [project] name = "<my_package>" # Will be dynamically replaced by CI/CD pipeline version = "<1.0.0>" # Will be dynamically replaced by CI/CD pipeline description = "" readme = "README.md" requires-python = ">=3.7" authors = [ {name = "" , email = "<your.email@example.com>" }, ] [project.urls] "Homepage" = "<https://gitlab.com/my_package>" # Will be replaced with actual project URL Your Name 과 your.email@example.com 을 자신의 개인 정보로 바꿔야 합니다. 다음 단계에서 CI/CD 파이프라인 빌드를 완료하면 파이프라인이 자동으로 다음을 수행합니다: my_package 를 프로젝트 이름의 정규화된 버전으로 교체합니다. version 을 파이프라인 버전과 일치하도록 변경합니다. Homepage URL을 GitLab 프로젝
