CI/CD 컴포넌트 예시
CI/CD 컴포넌트 예시에 대해 설명합니다.
컴포넌트 테스트 # 컴포넌트의 기능에 따라 컴포넌트 테스트 에는 리포지터리의 추가 파일이 필요할 수 있습니다. 예를 들어 특정 프로그래밍 언어로 소프트웨어를 린트, 빌드 및 테스트하는 컴포넌트에는 실제 소스 코드 샘플이 필요합니다. 동일한 리포지터리에 소스 코드 예시, 구성 파일 등을 포함할 수 있습니다. 예를 들어 Code Quality CI/CD 컴포넌트에는 테스트용 코드 샘플 이 여러 개 있습니다. 예시: Rust 언어 CI/CD 컴포넌트 테스트 # 컴포넌트의 기능에 따라 컴포넌트 테스트 에는 리포지터리의 추가 파일이 필요할 수 있습니다. 다음 Rust 프로그래밍 언어를 위한 "hello world" 예시는 단순함을 위해 cargo 도구 체인을 사용합니다: CI/CD 컴포넌트 루트 디렉토리로 이동합니다. cargo init 명령을 사용하여 새 Rust 프로젝트를 초기화합니다. cargo init 이 명령은 src/main.rs "hello world" 예시를 포함한 모든 필수 프로젝트 파일을 생성합니다. 이 단계는 cargo build 로 컴포넌트 Job에서 Rust 소스 코드를 빌드하는 데 충분합니다. tree . ├── Cargo.toml ├── LICENSE.md ├── README.md ├── src │ └── main.rs └── templates └── build.yml 컴포넌트에 Rust 소스 코드를 빌드하는 Job이 있는지 확인합니다. 예를 들어 templates/build.yml 에: spec: inputs: stage: default: build description: 'Defines the build stage' rust_version: default: latest description: 'Specify the Rust version, use values from https://hub.docker.com/_/rust/tags Defaults to latest' --- "build-$[[ inputs.rust_version ]]" : stage: $[[ inputs.stage ]] image: rust:$[[ inputs.rust_version ]] script: - cargo build --verbose 이 예시에서: stage 및 rust_version 입력은 기본값에서 수정될 수 있습니다. CI/CD Job은 build- 접두사로 시작하고 rust_version 입력을 기반으로 이름을 동적으로 생성합니다. cargo build --verbose 명령은 Rust 소스 코드를 컴파일합니다. 프로젝트의 .gitlab-ci.yml 구성 파일에서 컴포넌트의 build 템플릿을 테스트합니다: include: # include the component located in the current project from the current SHA - component: $CI_SERVER_FQDN/$CI_PROJECT_PATH/build@$CI_COMMIT_SHA inputs: stage: build stages: [ bui
