title: Is it possible to only deploy specific Firebase functions that changed with GitLab CI/CD?
body: <p>Deploying all Firebase functions at once is quite easy with GitLab CI/CD (<a href="https://about.gitlab.com/blog/2020/03/16/gitlab-ci-cd-with-firebase/" rel="nofollow noreferrer">How to leverage GitLab CI/CD for Google Firebase</a>):</p>
  <pre><code>deploy-functions:
    stage: deploy
    script:
      - cd functions
      - npm install
      - cd ..
      - firebase deploy --only functions --token $FIREBASE_TOKEN
    only:
      refs:
        - master
      changes:
        - functions/**/*
  </code></pre>
  <p>However, when &quot;deploying large numbers of functions, you may exceed the standard quota and receive HTTP 429 or 500 error messages. To solve this, deploy functions in groups of 10 or fewer.&quot; (see <a href="https://firebase.google.com/docs/functions/manage-functions" rel="nofollow noreferrer">Manage functions deployment and runtime options</a>).</p>
  <p>With the Firebase CLI, specific functions (e.g. <code>addMessage</code> and <code>makeUppercase</code>) can be deployed using <code>firebase deploy --only functions:addMessage,functions:makeUppercase</code>.</p>
  <p>Now, is there an easy way to automatically detect which functions are affected by changes in the code base and build a <code>gitlab-ci.yml</code> that only deploys the corresponding functions?</p>