Technologies¶
The following Technologies can be selected.
- Database - enables Entity and Enumeration modeling, PL/SQL editor, debugger etc. This Technology is always enabled.
- Services Layer - enables java editor, java debugger, installation of application server, server tester etc.
- Integration - enables Transformer modeling and integration development. See: Integration Development
The service layer allows Java implementation handling using Docker or Kubernetes, and it is available for both core and customization projects. This post should provide all information related to setting this up using Docker. This video should show everything needed for debugging.
For core projects it is necessary to input the repository, username, and password. These details can be found in this post. For customization projects, this is not necessary as the credentials are hardcoded.
Kubernetes support for devstudio¶
We have also implemented support to run the local server on Kubernetes instead of Docker, meaning that Docker desktop no longer needs to be installed. A valid Kubernetes cluster (on a local machine or elsewhere) and kubectl (on the machine running DevStudio) need to be available for this to work. If you do not have a Kubernetes cluster available, follow the below steps to set up a cluster locally using Minikube.
Optional: setting up Minikube¶
While any Kubernetes cluster should work, in this case, Minikube is used to set up a Kubernetes cluster locally. Instructions to setting up Minikube can be found here.
Minikube can be set to use several different drivers, and in this case, we will be using the hyper-v driver which comes ready with Windows 10 (Enterprise, Pro, Education).
Note that in order to run Minikube with Hyper-V you need to have local admin privileges
Commands to start minikube (in admin powershell):
minikube start --driver=hyperv
Once Minikube starts, use a non-admin PowerShell to make sure that the kubectl context is set correctly using:
kubectl config current-context
If you do not get minikube as the context, you will have to swith context manually. IFS users can run the PowerShell script provided to do this automatically. Also note that if your machine has low available memory, Minikube will not start.
Using k8s for local server development¶
Prerequisites:
1. kubectl is set up in the path
2. k8s context is configured via kubeconfig
Once you have a valid Kubernetes cluster, the rest of the steps are similar to those used by the Docker implementation.
- Open a DevStudio project
- Open project properties
- Move to the technologies layer
- Check Services layer option
- Select Kubernetes from the dropdown
- Move to the services layer
- Set valid credentials (Docker repository credentials are needed only if you are in a core project)
- Save project properties
- Add required model files to the application server
- RMB on the Application server and start server
- Wait until necessary jars are downloaded and a message is shown that the server is ready
- Open the application in the browser (http://localhost:8080/main/ifsapplications/web/start)
To debug, go to debug -> Attach debugger, and set the host to 127.0.0.1 and port to 8787.
Start server/cleanup server/build/deploy actions will work in the usual manner.
A video showing the implementation can be found here: link to video>>>