GitHub Actions 워크플로우로 사용자 정의 로그인 UI 배포 자동화하기
GitHub Actions 워크플로우를 사용하여 개발자 파이프라인에서 사용자 정의 로그인 UI를 Logto Cloud에 자동으로 배포하는 방법을 보여드리겠습니다.
배경
Logto는 고객 아이덴티티 및 액세스 관리 (CIAM) 솔루션의 더 나은 선택입니다. 최근 우리는 개발자들이 로그인 UI를 완전히 사용자정의할 수 있는 "사용자 UI 가져오기" 기능을 Logto Cloud에서 출시했습니다.
이전 블로그 포스트에서도 사용자 정의 로그인 UI를 만드는 방법에 대한 단계별 가이드를 제공했습니다. 여기에는 다음이 포함됩니다:
- 코드 샘플을 사용하여 사용자 정의 로그인 페이지 개발하기
- 로컬 디버깅을 위한
@logto/tunnel
CLI 설정하기 - 사용자 정의 UI 자산을 빌드 및 압축하기
- 압축된 패키지를 업로드하고 Console UI를 통해 Logto Cloud에 배포하기
그러나 DevOps 마인드를 가진 앱 개발자로서 로그인 페이지에 변경 사항을 적용하는 과정이 번거롭다고 느낄 수 있습니다. 이 모든 과정을 자동화할 방법이 있을까요?
여러분의 피드백을 반영하여 @logto/tunnel
에 새 deploy
CLI 명령어를 소개하게 되어 기쁩니다. 이 명령어를 사용하면 터미널에서 명령어를 실행하거나 GitHub Actions 워크플로우에 통합 함으로써 배포 프로세스를 자동화할 수 있습니다. 이는 CI/CD 파이프라인을 구축하는 데 특히 유용합니다. 시작해 봅시다!
사전 준비
설정에 들어가기 전에 다음 항목을 확인하세요:
- 구독 플랜이 있는 Logto Cloud 계정.
- Logto 테넌트에 관리 API 권한을 가진 기계 대 기계 애플리케이션.
- 프로젝트 소스 코드는 GitHub에 호스팅되어야 합니다.
- 프로젝트에
@logto/tunnel
CLI 도구를 dev dependency로 설치하세요.
1단계: GitHub Actions 워크플로우 생성하기
GitHub 리포지토리에서 새 워크플로우 파일을 생성하세요. .github/workflows/
로 이동하여 deploy.yml
이라는 파일을 생성하세요.
GitHub Actions 워크플로우 설명
- 트리거: 워크플로우는 메인 브랜치에 푸시될 때마다 트리거됩니다.
- 작업: 배포 작업은 최신 우분투 환경에서 실행되며 다음 단계들을 수행합니다.
- 단계:
- 코드 체크아웃: 이 단계는 리포지토리 코드를 체크아웃합니다.
- Node.js 설정: Node.js 환경을 설정합니다.
- 종속성 설치: 프로젝트 종속성을 설치합니다.
- 빌드: 프로젝트 소스 코드를 html 자산으로 빌드합니다. 출력 폴더는 루트 디렉토리의
dist
라고 가정합니다. - Logto Cloud에 배포: Tunnel CLI 명령어를 실행하여
./dist
디렉토리의 html 자산을 Logto Cloud 테넌트에 배포합니다. 민감한 정보는 환경 변수로 사용합니다.
GitHub Actions에 대한 자세한 내용은 GitHub Actions Documentation를 방문하세요.
2단계: GitHub에서 액션 비밀 구성하기
자격 증명을 안전하게 유지하려면 GitHub 리포지토리에 비밀로 저장해야 합니다:
- GitHub 리포지토리로 이동합니다.
- "설정"을 클릭합니다.
- "비밀 및 변수 > 액션"으로 이동합니다.
- 새 리포지토리 비밀을 클릭하고 다음 비밀을 추가합니다:
- LOGTO_AUTH:
<m2m-app-id>:<m2m-app-secret>
형식의 Logto M2M 애플리케이션 자격 증명. - LOGTO_ENDPOINT: Logto Cloud 엔드포인트 URI.
- LOGTO_RESOURCE: Logto 관리 API 리소스 표시기. "API 리소스 -> Logto 관리 API"에서 찾을 수 있습니다. 사용자 정의 도메인이 Logto Cloud 테넌트에서 활성화된 경우 필요합니다.
3단계: 워크플로우 테스트하기
워크플로우를 설정하고 비밀을 구성한 후, PR을 마스터 브랜치에 병합하여 테스트할 수 있습니다. GitHub Actions 워크플로우가 자동으로 트리거되고, 사용자 정의 로그인 UI가 Logto Cloud에 배포됩니다.
결론
GitHub Actions 워크플로우에 @logto/tunnel
CLI 명령어를 통합함으로써 사용자 정의 로그인 UI를 Logto Cloud로의 배포 프로세스를 간소화할 수 있습니다. 이 자동화는 개발에 집중하면서 변경 사항이 라이브 환경에서 지속적으로 테스트되도록 합니다.
행복한 코딩 되세요!