Community코딩 & 개발github.com

로컬 키트로 변형 빌드

로컬 개발 레지스트리에 게시된 키트를 사용하여 Bottlerocket 변형 이미지를 빌드합니다. 프로덕션 레지스트리에 게시하기 전에 키트 변경 사항을 종단 간 테스트할 수 있습니다.

로컬 키트로 변형 빌드란 무엇인가요?

이 스킬은 Bottlerocket 변형 이미지를 로컬 개발 레지스트리에 게시된 키트로 빌드하여, 프로덕션 레지스트리에 배포하기 전에 키트 변경 사항을 완전히 검증할 수 있도록 합니다. Bottlerocket 및 Twoliter 도구 체인을 사용하며, `build-kit-locally` 스킬로 빌드된 키트가 필요합니다. 주요 단계는 `brdev twoliter use-local-deps` 명령으로 로컬 레지스트리를 가리키도록 설정하고, `Twoliter.toml`에서 가져올 키트의 `vendor = "local"`을 설정한 후, `cargo make`를 실행하여 변형 이미지를 빌드하는 것입니다. 빌드가 완료되면 `build/images/` 디렉토리에 `.img` 파일이 생성되며, 테스트를 마친 후에는 `brdev twoliter use-upstream-deps` 명령으로 업스트림 구성을 복원해야 합니다. 이 스킬은 개발 환경에서의 종단 간 테스트, 부팅 가능 이미지 생성, 키트 수정 검증에 유용하며, Cursor, Codex, Claude Code 등 다양한 AI 에이전트 플랫폼에서 지원됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/build-variant-from-local-kits

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

스킬: 로컬 키트로 변형 빌드

목적

로컬 개발 레지스트리에 게시된 키트를 사용하여 완전한 Bottlerocket 변형 이미지를 빌드합니다. 이를 통해 프로덕션 레지스트리에 게시하기 전에 키트 변경 사항을 종단 간 테스트할 수 있습니다.

사용 시기

  • 완전한 변형 빌드에서 키트 변경 사항 테스트
  • 로컬 테스트를 위한 부팅 가능 이미지 생성
  • 키트 수정의 종단 간 검증

전제 조건

  • 키트가 이미 로컬 레지스트리에 빌드 및 게시되어 있어야 함 (build-kit-locally 스킬 사용)
  • 로컬 레지스트리가 실행 중이어야 함
  • Bottlerocket 변형 저장소

절차

1. 로컬 레지스트리 구성

cd ./bottlerocket
brdev twoliter use-local-deps

이 명령은 키트를 가져올 로컬 레지스트리를 가리키는 Twoliter.override 파일을 생성합니다.

2. 로컬에서 가져올 키트 선택

Twoliter.toml을 편집하여 로컬 레지스트리에서 가져올 키트에 대해 vendor = "local"을 설정합니다.

[kit.bottlerocket-core-kit]
vendor = "local"  # 로컬 레지스트리에서 가져오기
version = "2.0.0"

[kit.bottlerocket-kernel-6.1-kit]
# vendor 재정의 없음 - 업스트림 사용
version = "2.0.0"

vendor = "local"이 설정된 키트만 로컬 레지스트리에서 가져오며, 나머지는 업스트림을 사용합니다.

3. 잠금 파일 업데이트

./tools/twoliter/twoliter update

4. 변형 빌드

cargo make

특정 변형의 경우:

cargo make -e BUILDSYS_VARIANT=aws-k8s-1.31

특정 아키텍처의 경우:

cargo make -e BUILDSYS_ARCH=aarch64

5. 빌드된 이미지 찾기

ls -lh build/images/*.img

검증

빌드가 성공적으로 완료되고 build/images/ 디렉토리에 .img 파일이 생성되어야 합니다.

정리

테스트가 끝나면 업스트림 구성을 복원합니다.

brdev twoliter use-upstream-deps

이 명령은 Twoliter.override 파일을 제거합니다. Twoliter.toml에서 vendor = "local" 변경 사항도 되돌리는 것을 잊지 마십시오.

일반적인 문제

레지스트리에서 키트를 찾을 수 없음:

Error: failed to pull kit

해결 방법: brdev registry list를 사용하여 키트가 게시되었는지 확인합니다.

버전 불일치: 해결 방법: Twoliter.toml의 버전이 게시된 키트 버전과 일치하는지 확인합니다.

잠금 파일 동기화 불일치: 해결 방법: ./tools/twoliter/twoliter update를 다시 실행합니다.

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

ad-hoc-implementation-plan

Transform a rough plan into implement-commit ready artifacts. Allows rigorous review while implementing.

build-kit-locally

Build a kit and publish it to a locally hosted registry for development testing

deep-research

Create educational documents that build understanding progressively with citations

edit-spec-file

Edit Bottlerocket RPM spec files following project style conventions

fact-find

Quick lookup of specific facts about Bottlerocket with citations

idea-honing

Clarify feature ideas through iterative Q&A, recording insights to guide concept development

implement-commit

Implement commits from an implementation plan using a TDD pipeline

local-registry

Start and manage a local OCI registry for Bottlerocket kit development

prepare-core-kit-release

Prepare bottlerocket-core-kit for release by bumping version and updating changelog

propose-feature-concept

Create a new feature concept document to pitch the idea and explain the problem/solution

propose-feature-design

Create or update feature technical design document with architecture and implementation guidance

propose-feature-requirements

Create or update feature requirements specification using EARS notation with examples and appendices

propose-feature-test-plan

Create a test plan mapping EARS requirements and Critical Constraints to specific tests

propose-implementation-plan

Create an implementation plan with atomic commits that build toward a complete feature

review-code

Deep code review generating PR comments via principled question-driven analysis

review-scope

Verify code changes match intended scope and requirements without exceeding boundaries

review-style

Verify code follows project style guides without providing improvement suggestions

test-local-twoliter

Build and test local changes to twoliter before releasing

update-twoliter

Update all Bottlerocket repositories to a new Twoliter version

관련 스킬