CI/CD용 Firebase 작업 + 워크플로!

내 워크플로우



firebase-function-decision-makerfirebase-lerna-typescript-boilerplate을 만들어 GitHub Actions의 기능을 활용하고 Firebase에 조건부로 매우 쉽게 배포할 수 있도록 했습니다!

GitHub Action은 모든 TypeScript 프로젝트에서 커밋의 변경 사항을 감지하고 변경 사항이 있는 함수만 배포하는 데 사용할 수 있습니다.

템플릿/보일러플레이트 리포지토리에는 Firebase 저장소 및 Firestore 규칙, Firebase 기능 및 호스팅을 포함하여 완전한 기능을 갖춘 Firebase 프로젝트를 가동하기 위한 빠른 시작이 포함되어 있습니다. 더 나은 방법: 코드 변경 사항에 따라 모든 것이 조건부로 배포됩니다!

제출 카테고리:



DIY 배포

Yaml 파일 또는 코드 링크




우리엘비아나 / firebase-functions-deployment-decision


배포할 기능을 결정하기 위해 diff 및 코드를 읽는 GitHub 작업





firebase-functions-deployment-decision


TypeScript diff 및 코드를 읽어 자동으로 배포할 기능을 결정하는 GitHub 작업입니다.

작동 방식


이 작업을 올바르게 구성한 후 TypeScript의 파서를 사용하여 파일 diff 및 코드를 읽기 시작하여 관련 파일 참조를 매핑하고 어떤 파일이 어떤 기능에 영향을 주는지 이해합니다.
작동하려면 각 함수를 별도의 파일로 분할해야 하며 파일 이름은 함수와 유사(또는 동일)해야 합니다.

입력


GITHUB_TOKEN
  description: 'A GitHub token to fetch the commit comparison and read file changes.'
  required: true
  example: ${{ github.token }}
INDIVIDUAL_FUNCTION_GLOB
  description: 'A glob that matches individual function files.'
  required: true
  example: 'packages/functions/src/functions/*.ts'
FILE_CHANGES_FILTER_REGEX
  description: 'An optional Regular Expression to filter your file changes.'
  required: false
  example: 'packages/functions/src/v2/functions'
INDIVIDUAL_FUNCTION_REGEX
  


View on GitHub




우리엘비아나 / firebase-lerna-typescript-보일러플레이트


Lerna를 사용하는 단일 저장소 구조의 Firebase 앱용 상용구 저장소




추가 리소스/정보



제 경우에는 지난 2년 동안 매일 Firebase로 작업했으며 CI/CD에 대한 작업 흐름을 훨씬 개선할 수 있다는 것을 알았습니다. 저는 결과에 매우 만족하며 사람들이 비슷한 것을 찾을 때 작업을 사용하거나 템플릿으로 프로젝트를 빠르게 시작할 수 있기를 바랍니다.

저의 다음 단계는 FOSS를 구축하고 기여하여 이 반짝이는 새 워크플로를 적용할 수 있도록 하는 것입니다.

좋은 웹페이지 즐겨찾기