GitHub Actions를 사용하여 MLOps에서 CD(지속적 배포)를 수행할 수 없습니다

저는 Databricks와 MLOps가 처음입니다. 현재 다음 튜토리얼을 따라 Databricks Asset Bundles MLOps를 시도해보고 있습니다: Databricks Asset Bundles for MLOps Stacks | Databricks Documentation

저의 클라우드 계정은 AWS를 사용하고 있습니다. 저는 Unity Catalog(UC)에서 File System(FS)과 Model Registry 설정을 요청했고, GitHub Actions를 사용한 CICD 설정도 요청했습니다. 모든 것이 잘 설정되어 있습니다.

저는 로컬 저장소(local repo)와 원격 GitHub 저장소(remote GitHub repo), 그리고 Databricks 워크스페이스도 가지고 있습니다.

제 파일 구조는 다음과 같습니다.

저의 My DB workspace File structure 는 다음과 같습니다.

cWJoWR1g (1)

로컬 터미널에서 “databricks bundle validate -t staging” 명령어를 실행하면 아래와 같이 정상적으로 출력되는 것 같습니다.

하지만 이는 앞서 이미지에 나온 “mbs_db_mlops-bundle-cd-staging.yml” 파일에 정의된 CD 워크플로우의 일부이기도 합니다. 해당 Databricks 워크스페이스에 대한 GitHub Secrets도 설정해두었습니다.

그러나 원격 저장소에 “main” 브랜치를 푸시하면, GitHub Actions의 CD 워크플로우는 “databricks bundle validate -t staging” 단계에서 실패합니다.

이 명령어는 로컬에서는 잘 작동하지만 GitHub Actions에서는 작동하지 않습니다. 어떻게 하면 이 문제를 해결할 수 있을까요? 저는 이 단계에서 막혔어요.

문제는 GitHub Actions에 설정한 시크릿이 로컬 환경 변수 DATABRICKS_TOKEN에 설정한 Personal Access Token과 달랐기 때문이었습니다. 이 토큰을 GitHub의 STAGING_WORKSPACE_TOKEN에 복사해 넣은 후에는 작업이 정상적으로 실행되었습니다.