Cloud Build enables you to continuously build and test your code and
deploy it on any target. You can develop your application in the programming
language of your choice and store the source code in any of the popular source
code management systems such as GitHub. This page describes the things to know to
get started in developing an application to use with Cloud Build.

## Supported programming language

Cloud Build allows you to write code in any programming language of
your choice. For examples on building and testing applications, see
[Building Java applications](https://docs.cloud.google.com/build/docs/building/build-java),
[Building Go applications](https://docs.cloud.google.com/build/docs/building/build-go),
[Building Python applications](https://docs.cloud.google.com/build/docs/building/build-python),
and [Building Node.js applications](https://docs.cloud.google.com/build/docs/building/build-nodejs).

## Build configuration file

To build your application using Cloud Build, you must provide a build
configuration file along with your application source code. The build config file
contains instructions for Cloud Build to perform tasks based on your
specifications. You can write the build config file in YAML or JSON. For
information on the fields and schema of the build config file,
see [Build config overview](https://docs.cloud.google.com/build/docs/build-config). For instructions on
creating a simple build config file, see
[Create a basic build config file](https://docs.cloud.google.com/build/docs/configuring-builds/create-basic-configuration).

## Supported source code repositories

Cloud Build integrates with a number of repositories such as GitHub,
Bitbucket, and Gitlab. You can store your application source code in any of
these repositories and use Cloud Build to automate
building, testing, and deploying your code. For instructions on connecting to
various repositories, see [Creating GitHub app triggers](https://docs.cloud.google.com/build/docs/automating-builds/create-github-app-triggers), [Building hosted repos on Bitbucket server](https://docs.cloud.google.com/build/docs/automating-builds/build-hosted-repos-bitbucket-server), [Building hosted repos on Bitbucket Cloud](https://docs.cloud.google.com/build/docs/automating-builds/build-hosted-repos-bitbucket-cloud), and [Building hosted repos on Gitlab](https://docs.cloud.google.com/build/docs/automating-builds/build-hosted-repos-gitlab).

You can also
[specify any Git repositories as dependencies](https://docs.cloud.google.com/build/docs/building/manage-dependencies)
to your build, if those repositories are public or are
[connected using Developer Connect](https://docs.cloud.google.com/developer-connect/docs/connect-github-repo).

## Storing built artifacts

Artifact Registry is a Google Cloud service that enables you to centrally store
artifacts and build dependencies. You can use [Artifact Registry in conjunction
with Cloud Build](https://docs.cloud.google.com/artifact-registry/docs/configure-cloud-build) to
store build artifacts. In addition to Artifact Registry, you can store artifacts
in other storage systems such as [Cloud Storage](https://docs.cloud.google.com/build/docs/building/store-build-artifacts#store-artifact-storage)
and [Docker](https://docs.cloud.google.com/build/docs/interacting-with-dockerhub-images#pushing_images_to_docker_hub).

## Supported deployment platforms

Cloud Build supports deployments to most popular deployment platforms.
For instructions on deploying to specific platforms, see
[Deploying on Cloud Run](https://docs.cloud.google.com/build/docs/deploying-builds/deploy-cloud-run),
[Deploying on Google Kubernetes Engine](https://docs.cloud.google.com/build/docs/deploying-builds/deploy-gke),
[Deploying on App Engine](https://docs.cloud.google.com/build/docs/deploying-builds/deploy-appengine), and
[Deploying on Firebase](https://docs.cloud.google.com/build/docs/deploying-builds/deploy-firebase).

## What's next

- Once you have your source code and build config file, learn how to start a build using [CLI, API](https://docs.cloud.google.com/build/docs/running-builds/start-build-manually), or [build triggers](https://docs.cloud.google.com/build/docs/automating-builds/create-manage-triggers).