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 Kubernetes or 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 Debug or Run.
If prompted, authenticate your credentials to run and debug an application locally.
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 Kubernetes or 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-started snippet.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.