Deploying from Source Control

Cloud Repositories

If you prefer to deploy your function source code from a source repository like GitHub or Bitbucket, you can use Google Cloud Source Repositories to deploy functions directly from branches or tags in your repository.

Set up Cloud Source Repositories

  1. Follow the Cloud Source Repositories getting started steps to set up your repository.
  2. Connect your GitHub or Bitbucket repository by following the hosted repository guide.

Once the connection between Cloud Source Repositories and your external repository is established, these repositories are kept synchronized so that you can commit to your chosen repository as you would normally.

Deploy using the gcloud tool

To deploy a function from your source repo, use the --source command line argument:

gcloud functions deploy NAME \
  --source https://source.developers.google.com/projects/PROJECT_ID/repos/REPOSITORY_ID/moveable-aliases/master/paths/SOURCE \
  --runtime RUNTIME \
  TRIGGER... \
  [FLAGS...]

The command uses the following arguments to gcloud functions deploy:

Argument Description
NAME The name of the Cloud Function you are deploying. This name can only contain letters, numbers, underscores, and hyphens. Unless you specify the --entry-point flag, your code must contain a function with the same name.
--source PATH The location of the source code to deploy. The location can be a reference to a source repository, a path in Google Cloud Storage, or a local filesystem path. For details, see the gcloud Command Reference.
--runtime RUNTIME The name of the runtime you are using, such as nodejs6, nodejs8, or python37.
TRIGGER... If you have an HTTP function, use the flag --trigger-http.

If you have a background function, use the flags --trigger-resource MY_RESOURCE and --trigger-event MY_EVENT. If your background function is assigned a Cloud Pub/Sub trigger, you can instead use the shorthand --trigger-topic MY_TOPIC. Likewise, when deploying functions that are assigned Cloud Storage triggers, you can simply use the flag --trigger-bucket MY_STORAGE_BUCKET to trigger function execution whenever files in the specified bucket change.
FLAGS... (Optional) Additional flags you can specify during deployment, such as --stage-bucket or --entry-point. For a full reference, see the gcloud functions deploy documentation.

Next steps

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Functions Documentation