Cloud Code leverages Skaffold under the hood to run or debug your application.
If you have an existing application already configured with Kubernetes manifests and a Dockerfile to build your images, you can open and use it with Cloud Code.
The only additional configuration necessary is a skaffold configuration
and a launch configuration
of type cloudcode.kubernetes
. Cloud Code guides you through creating these
when you run or debug your application for the first time.
Setting up configuration
If your application has a Dockerfile but doesn't have the necessary Skaffold and launch configurations, complete the following steps:
-
In the Cloud Code status bar, click the active project name.
-
In the Quick Pick menu that appears, select Run on Kubernetesor Debug on Kubernetes.
-
In the Run/Debug on Kubernetes dialog, specify your preferred builder and its settings. You can also customize your configuration name.
-
Click Debugor Run.
The newly created
skaffold.yaml
andcloudcode.kubernetes
launch configuration are added to your workspace and your app runs or is ready for debugging .
Setting up configuration for applications that already have skaffold.yaml
If your application already has a skaffold.yaml
file, follow these steps:
-
In the Cloud Code status bar, click the active project name.
-
In the Quick Pick menu that appears, select Run on Kubernetesor Debug on Kubernetes.
-
If more than one
skaffold.yaml
file exists in your workspace, select your preferred skaffold.yaml file. -
If more than one Skaffold profile exists in the
skaffold.yaml
file you chose, select your preferred Skaffold profile.The newly created
cloudcode.kubernetes
launch configuration is added to your workspace (in .vscode/launch.json) and your app is running or ready for debugging .
Manually creating a Skaffold configuration
You might want to manually create your Skaffold configuration to define custom options. Cloud Code comes with live templating to support manual Skaffold configuration creation.
To manually create a Skaffold configuration:
-
Create a new file named
skaffold.yaml
in the root directory of your workspace. -
In the file, press
Command/Ctrl+Space
to see a list of snippet suggestions and then select the Skaffold - Getting-startedsnippet. -
Enter your project image name in the
image
field and enter a list of the Kubernetes resources to deploy in themanifests
field.Example for Dockerfile based builds:
build : artifacts : - image : image_name deploy : kubectl : manifests : - k8s / web . yaml - k8s / backend . yaml
If you'd like to define build, test and deployment configurations for different contexts, you can have different Skaffold profiles. The following sample shows a Cloud Build profile to configure Cloud Code to build images with Cloud Build:
profiles: # use the cloudbuild profile to build images using Google Cloud Build - name: cloudbuild build: googleCloudBuild: {}
For comprehensive schema details, see the skaffold.yaml reference .
What's next
- Use file sync and hot reloading to speed up development.
- Debug your application in Cloud Code .