프로젝트 소개

Defang GitHub Action은 Defang 플랫폼을 통해 Compose 기반 프로젝트를 주요 클라우드 제공업체에 배포하는 프로세스를 간소화하는 CI/CD 통합입니다. 자체 AWS, Azure, GCP 계정뿐만 아니라 Defang Playground에도 배포할 수 있습니다. 주요 기능은 다음과 같습니다: - **간단한 배포**: GitHub 워크플로우에 단일 단계를 추가하여 Compose 기반 프로젝트를 배포합니다. 이 액션은 `contents: read` 및 `id-token: write` 권한이 필요합니다. - **시크릿 관리**: GitHub Actions Secrets를 Defang 구성 값으로 안전하게 클라우드에 전달합니다. `config-env-vars` 입력을 통해 게시할 환경 변수를 지정하므로 명시적으로 나열된 시크릿만 클라우드로 푸시됩니다. - **하위 디렉터리 프로젝트**: `cwd` 입력을 사용하여 리포지토리 루트가 아닌 하위 디렉터리에 있는 Compose 파일을 가리킬 수 있습니다. - **CLI 버전 제어**: 특정 Defang CLI 버전(예: `v3.5.2`)을 고정하거나, 최신 불안정 빌드를 위해 `nightly`를 사용하거나, Git ref(브랜치 이름 또는 커밋 SHA)를 전달하여 소스에서 CLI를 빌드할 수 있습니다. - **사용자 정의 명령**: `command` 입력을 통해 기본 `compose up` 명령을 임의의 Defang CLI 명령 및 인수로 재정의할 수 있습니다. - **출력 캡처**: `capture-output: true`를 사용하여 명령의 표준 출력을 단계 출력(`outputs.stdout`)으로 선택적으로 캡처할 수 있습니다. 대규모 배포 시 GitHub Actions 메모리 제한을 초과할 수 있으므로 기본적으로 비활성화되어 있습니다. - **배포 요약**: `compose up` 실행 시 액션은 자동으로 `defang services --json`을 호출하고 배포된 서비스의 표(공용 엔드포인트는 클릭 가능한 링크)를 GitHub 작업 요약에 작성합니다. 또한 기본 공용 HTTPS 엔드포인트를 `endpoint` 출력으로 노출하여 작업의 `environment.url`에 연결할 수 있습니다. 이렇게 하면 실행 페이지, Environments 탭 및 리포지토리 사이드바에서 클릭 가능한 "View deployment" 링크가 표시됩니다. 요약은 `summary` 입력으로 토글할 수 있습니다. - **추가 입력**: `compose-files`로 사용자 정의 Compose 파일 경로를 지정하고, `stack`으로 배포 스택을 선택하고, `verbose`로 상세 로깅을 활성화할 수 있습니다. 이 액션은 구성, 버전 관리 및 출력 처리에 대한 세밀한 제어를 제공하면서 배포 워크플로우를 간결하게 유지하도록 설계되었습니다.