Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Last Updated: Mar 27, 2024
Difficulty: Easy

Overview of Cloud Code for IntelliJ

Leveraging ChatGPT - GenAI as a Microsoft Data Expert
Speaker
Prerita Agarwal
Data Specialist @
23 Jul, 2024 @ 01:30 PM

Introduction

When a budding developer starts learning a new technology, it’s important for him to choose the best tool which will keep him get going. “Choosing the right tool” is not as easy as it sounds. With a plethora of IDEs all around, it's hard to choose the best. In this article, we will do an overview of cloud code for IntelliJ. 
 

Google Cloud Platform

 

As we know, Cloud Code is a set of IDE plugins for popular IDEs that make it easier to create, deploy, and integrate Google Cloud applications. We will do an overview of cloud code for IntelliJ point of view and after completing this article, you’ll have a good idea of how IntelliJ works for cloud code.

Setting up the Cloud Code for the IntelliJ plugin

While going through the overview of cloud code for IntelliJ, it is important to understand how to set up the cloud code for the IntelliJ plugin. The Cloud Code for IntelliJ plugin adds Google Cloud development support to the JetBrains IDE family, which includes IntelliJ, GoLand, PyCharm, and WebStorm.

Manual Installation

Step 1: Start your IDE.

Step 2: Search for and install the Cloud Code plugin from your IDE's plugin marketplace (FileSettings Plugins or IntelliJ IDEAPreferences Plugins for Mac OS X).

Step 3: To activate the plugin, restart your IDE if prompted.

Managed Dependencies 

Cloud Code automatically installs some required command-line dependencies, such as:

  • kubectl is a command-line tool for working with Kubernetes clusters and managing Kubernetes deployments.
  • skaffold for continuous development on a Kubernetes cluster, smart image building and tagging, and a variety of deployment and build types.
  • minikube to aid in local development
  • The gcloud CLI is used to manage resources on Google Cloud.
Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

Deploying a Kubernetes app with Cloud Code for IntelliJ

To do an overview of cloud code for IntelliJ, we will start by deploying a Kubernetes app on the browser.

To begin developing and deploying your application on Kubernetes, follow these steps:

Step 1: Using a cloud-hosted cluster, ensure you've defined where your container images are stored for Develop on Kubernetes.
Now, if you're logged into Google Cloud in your IDE and have a default project defined, Cloud Code will use that repository (gcr.io/project id, where project id refers to your default project).
 

Step 2: Ascertain that your preferred Kubernetes context is configured. This can be specified in your Run Edit ConfigurationsDevelop on Kubernetes configuration, on the Run tab, and in the Deployment preferences section.

You can deploy to the current context (the default), a minikube cluster locally, or another available context.
The Kubernetes application will run in On-demand mode by default, with On-demand selected. You can also choose the On file save option if you prefer.
 

Step 3: On the Run/Debug configuration selector in the Navigation bar, select the Develop on Kubernetes run target.

Run Configuration window

This ensures that any code changes are built, pushed, and deployed to a new version of your application automatically.

Step 4: To begin the development cycle on your Kubernetes cluster, select the Develop on Kubernetes run action.
 

Step 5: View incoming application logs in the output window's Logs tab.
Following the start of the deployment, you will see a list of forwarded ports for the deployed application.
 

Step 6: When the deployment is complete, you will be notified that new service URLs are now available. To view the URL(s), click the Service URLs tab, then click the URL link to open your browser with your running application.

Service URLs tab

You can also see it by opening the Event Log and then click the link to launch your browser with your running application.

Deploying a Cloud Run service with Cloud Code for IntelliJ

Now while going in depth of overview of cloud code for IntelliJ. We'll set up a service that runs on Cloud Run using a sample application, and then we deploy our service to Cloud Run.

Creating a service

To create a new service from an existing one, follow these steps:

Step 1: Open FileNew Project in your IDE, and then choose Cloud Code: Cloud Run.

 

Step 2: Click Next after selecting the programming language for your sample application.

Step 3: After giving your project a name, click Finish.
Cloud Code clones the sample application, opens your newly created project, and generates the Cloud Run run configurations.
 

Step 4: When prompted, click Load Maven project if you selected a Java sample application.

Using Cloud Run to deploy your service

Follow these steps to deploy your service:

Step 1: From the Run/Debug configurations selector in the Navigation bar, select the automatically created run configuration, Cloud Run: Deploy.

Step 2: Run the run action icon. The Edit configuration window appears.

Step 3: Enter the Google Cloud project ID.

Step 4: Select a location for your deployment platform.
As the Deployment Platform, this quickstart employs the default platform option, Cloud Run (fully managed).

Step 5: Click the Run button.

Step 6: Follow the URL displayed in the output window to view your running service.

Step 7: By following the logs URL displayed in the output window, you can also view the status of your service (metrics, revision details, and more).

Cleaning up

If you created a project for this quickstart, delete it to avoid extra charges:

  1. Navigate to the Projects section of the Google Cloud console.
     
  2. Click Delete after selecting the project you created for this quickstart.

This terminates the project and marks it for deletion.

Deploy to the App Engine Flexible Environment in Cloud Code for IntelliJ

While doing an overview of cloud code for IntelliJ. We will now see how to create the deployment configuration which we are going to deploy to the app engine flexible environment in cloud code for IntelliJ.

Creating the deployment configuration

Step 1: Select Tools Cloud CodeApp EngineDeploy to App Engine.

creating deployment service

Step 2: Validate the server configuration:

a.) Next to the Server field, click the ellipsis (...).

b.) Check that the Name field in the dialogue displays Google App Engine.

c.) Select OK.
 

Step 3: Choose the Deployment source.
Deploying from a Maven artifact, an IntelliJ-specific artifact, or a filesystem JAR or WAR file is supported by Cloud Code for IntelliJ.
 

Step 4: If you choose a filesystem JAR or WAR file as your deployment source, navigate to the deployment archive by clicking the ellipsis (...) next to the Deployment archive field.
 

Step 5: In the Project field, choose a project.
When configuring the deployment for the first time, you will be prompted to sign in to the account associated with the console project that you want to deploy.
 

Step 6: Select a valid app.yaml file in the App Engine Flexible Configuration section.

a.) If there isn't a valid app.yaml file in the drop-down menu, click Edit to choose one. For more information, see the section Update the App Engine flexible configurations.
 

Step 7: Fill in the remaining fields to configure the deployment.
 

Step 8: To build and deploy your app, click Run.
 

Step 9: Click the name of your project in the Application Servers window to track its deployment progress. If the window does not appear, navigate to View > Tool Windows > Application Servers.
 

Step 10: Following deployment, you can view your app's URL in the console output.

Manage Cloud APIs and libraries in Cloud Code for IntelliJ

Using Cloud APIs, you can access Google Cloud products and services from your code. These Cloud APIs expose a simple JSON REST interface that can be accessed through client libraries.

Enabling Cloud APIs

Follow these steps to quickly enable Cloud APIs for a project using the API details:

Step 1: Select a Google Cloud project for which you want to enable the Cloud API in the Cloud API details view.
 

Step 2: Click the Enable API button.
When the API is enabled, you will see a message confirming the change.

Including Cloud Client Libraries

Follow these steps to add libraries to your JAVA Maven IntelliJ project:

Step 1: Select Cloud Code > Cloud APIs from the Tools menu.
The Add Google Cloud Libraries dialogue lists the libraries that are supported.
 

client library installation

 

Step 2: Choose either Google Cloud Client Library (recommended for most projects) or Java Spring GCP as your preferred library type (recommended if your project uses Java Spring).
 

Step 3: Select the module to which you want to add the library from the Module drop-down menu.
 

Step 4: To add the BOM and client library to your project, click Add Maven Dependency.

Using API Samples

Follow these steps to find and use code samples for each API in the API explorer:

Step 1: Select Cloud Code > Cloud APIs from the Tools menu.
 

Step 2: Click the name of an API to open the detail view.
 

Step 3: Click the Code Samples tab to view API code samples.
 

Step 4: Type text to search for or select a programming language from the Language drop-down menu to filter the list of samples.

Working with Google Cloud and Kubernetes YAML files in Cloud Code for IntelliJ

In our voyage to do an overview of cloud code for IntelliJ, we will now go through the working of google cloud and Kubernetes YAML files in cloud code for IntelliJ.

Configuring with snippets

Out-of-the-box snippets for common YAML schema (using Ctrl+Space to view options) make it simple to start a new YAML file or add to an existing one while adhering to best practices. It's also easier to work with repetitive fields; just fill in one and Cloud Code will fill in the rest.

Completing with context

Cloud Code will provide contextual completions based on the current schema to assist you in selecting the best option.

Context yaml

Validating YAML schema

Cloud Code provides schema validation by highlighting invalid tags and values in your YAML files and recommending fixes when possible.

validating yaml schema

Validating Skaffold YAML files

Cloud Code adds Skaffold configuration file editing support and smart templates to help you validate your skaffold.yaml files.

yaml validation

Completing Skaffold configuration files with context

Cloud Code also provides contextual completions and relevant documentation based on the current schema to assist you in selecting the best option.

skaffold configuration

Linting YAML for structural and validity issues

Cloud Code offers linting support for common schema issues as well as for descriptive errors.

linting yaml

Applying a YAML file

We can use the kubectl actions icon, available in the gutter of your IDE, and select Apply. To run kubectl apply -f to apply a configuration change using the current file. This opens a diff view so you can review the changes before clicking Apply.

yaml apply

Debugging an application in Cloud Code for IntelliJ

While we are near to the completion of our journey of doing an overview of cloud code for IntelliJ, we will discuss how to debug an application in cloud code for IntelliJ.

With Cloud Code's debugging support, you can avoid manual setup such as port forwarding, installing a debugging backend, and correctly injecting language-specific debug arguments. You only need a Cloud Code-ready Kubernetes application with a skaffold.yaml configuration file.

Debugging

  1. Click the debug action for the run action icon Develop on Kubernetes to begin the development cycle in debug mode on your Kubernetes cluster.

    watch mode

    A debug session is attached to Cloud Code:debug session
     
  2. You can now set breakpoints and step through code against a live Kubernetes cluster, just as you would when debugging local code.debug session 2
     
  3. Click the stop icon on the Develop on Kubernetes Run Configuration to end the debugging session.

Develop a service locally in Cloud Code for IntelliJ

The last step that we will cover while doing an overview of cloud code for IntelliJ is to develop a service locally in cloud code for IntelliJ.

In a Cloud Run-like environment, you can develop your Cloud Run services locally. Cloud Code monitors your source for changes and quickly updates the running service to reflect these changes.

Setting up Run Configuration

You must first create your run configuration before running your service:

Step 1: In the Navigation bar, navigate to the Run/Debug Configurations selector and click Edit Configurations.
 

Step 2: Choose Cloud Run: Run Locally under Cloud Code: Cloud Run.
 

Step 3: Select On file save under Watch mode - rebuild and redeploy if you want Cloud Code to automatically redeploy your application after you save your changes. On-demand is the default setting for new Cloud Run services. 
 

Step 4: Enter your builder option and its associated settings.
Cloud Code supports the artefact types Docker, Jib, and Buildpacks.
 

Step 5: Select OK.

Environment variables

There are the following environment variables that are automatically added to the containers:

Environment variables

Also see, kubernetes interview questions

Frequently Asked Questions

What is Cloud Code?

Cloud Code is a set of various IDE plugins which is used to make it easier to create, deploy, and integrate services on Google Cloud applications.

Why do we need to deploy on the cloud?

Using cloud services eliminates the need to purchase and maintain your own infrastructure. It also means that you can move more quickly with projects and tests without having to plan and worry about support infrastructure. It entails reducing the upfront costs associated with those projects and tests.

What are the three kinds of cloud computing?

The three kinds of cloud computing services: 

  1. Infrastructure-as-a-Service (IaaS)
  2. Platforms-as-a-Service (PaaS)
  3. Software-as-a-Service (SaaS) (SaaS)

Conclusion

In this article, we have extensively discussed the overview of cloud code for IntelliJ, how to deploy different services that will run on cloud code for sample applications, setting up, managing, and working with Google Clouds along with debugging them. We had also discussed how to develop a server locally in the cloud for IntelliJ.

If you think this blog has helped you with an overview of cloud code for IntelliJ, and if you would like to learn more, check out our articles Cloud Management in Cloud Computing, Cloud Computing Technologies, Cloud Computing Infrastructure, and Cloud Computing Architecture, and many more on our Website.

Refer to our Guided Path on Coding Ninjas Studio to upskill yourself in Data Structures and AlgorithmsCompetitive ProgrammingJavaScriptSystem Design, and many more! If you want to test your competency in coding, you may check out the mock test series and participate in the contests hosted on Coding Ninjas Studio! 

But suppose you have just started your learning process and are looking for questions asked by tech giants like Amazon, Microsoft, Uber, etc. In that case, you must look at the problemsinterview experiences, and interview bundle for placement preparations.

Nevertheless, you may consider our paid courses to give your career an edge over others!

Happy Learning!

Topics covered
1.
Introduction
2.
Setting up the Cloud Code for the IntelliJ plugin
2.1.
Manual Installation
2.2.
Managed Dependencies 
3.
Deploying a Kubernetes app with Cloud Code for IntelliJ
4.
Deploying a Cloud Run service with Cloud Code for IntelliJ
4.1.
Creating a service
4.2.
Using Cloud Run to deploy your service
4.3.
Cleaning up
5.
Deploy to the App Engine Flexible Environment in Cloud Code for IntelliJ
5.1.
Creating the deployment configuration
6.
Manage Cloud APIs and libraries in Cloud Code for IntelliJ
6.1.
Enabling Cloud APIs
6.2.
Including Cloud Client Libraries
6.3.
Using API Samples
7.
Working with Google Cloud and Kubernetes YAML files in Cloud Code for IntelliJ
7.1.
Configuring with snippets
7.2.
Completing with context
7.3.
Validating YAML schema
7.4.
Validating Skaffold YAML files
7.5.
Completing Skaffold configuration files with context
7.6.
Linting YAML for structural and validity issues
7.7.
Applying a YAML file
8.
Debugging an application in Cloud Code for IntelliJ
8.1.
Debugging
9.
Develop a service locally in Cloud Code for IntelliJ
9.1.
Setting up Run Configuration
9.1.1.
Environment variables
10.
Frequently Asked Questions
10.1.
What is Cloud Code?
10.2.
Why do we need to deploy on the cloud?
10.3.
What are the three kinds of cloud computing?
11.
Conclusion