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.
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 (File > Settings > Plugins or IntelliJ IDEA > Preferences > 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.
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 forDevelop 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 Configurations > Develop 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.
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.
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 File > New 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:
Navigate to the Projects section of the Google Cloud console.
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.
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.
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.
Validating YAML schema
Cloud Code provides schema validation by highlighting invalid tags and values in your YAML files and recommending fixes when possible.
Validating Skaffold YAML files
Cloud Code adds Skaffold configuration file editing support and smart templates to help you validate your skaffold.yaml files.
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.
Linting YAML for structural and validity issues
Cloud Code offers linting support for common schema issues as well as for descriptive errors.
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.
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
Click the debug action for the run action icon Develop on Kubernetes to begin the development cycle in debug mode on your Kubernetes cluster.
A debug session is attached to Cloud Code:
You can now set breakpoints and step through code against a live Kubernetes cluster, just as you would when debugging local code.
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:
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:
Infrastructure-as-a-Service (IaaS)
Platforms-as-a-Service (PaaS)
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.
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 problems, interview experiences, and interview bundle for placement preparations.
Nevertheless, you may consider our paid courses to give your career an edge over others!
Happy Learning!
Live masterclass
Switch from non tech to high paying data analytics profile
by Alka Pandey, Data Scientist @ Hindustan Unilever
09 Oct, 2024
01:30 PM
Master PowerBI using Netflix Data
by Ashwin Goyal, Product @ HRS Group, Ex - Udaan, OYO
08 Oct, 2024
01:30 PM
Switch from non tech to high paying data analytics profile
by Alka Pandey, Data Scientist @ Hindustan Unilever
09 Oct, 2024
01:30 PM
Master PowerBI using Netflix Data
by Ashwin Goyal, Product @ HRS Group, Ex - Udaan, OYO