This blog series will help you get familiar with Entando's CLI (ENT) which simplifies building and deploying applications for Kubernetes. ENT CLI is your starting point and guide to all development on the Entando platform.
Entando CLI (ENT) is a command line interface designed to simplify the development of Entando applications on Kubernetes.
It streamlines environment setup, enables you to spin up a local instance of Entando on a single node Kubernetes cluster, packages application updates for deployment, generates micro frontends and microservices from a database model, and comes with a number of diagnostic utilities to debug your application in case something goes wrong.
In this lesson, we’ll install ENT CLI, and explore its capabilities.
Let’s dive right in, and install ENT CLI.
curl -L https://get.entando.org/cli | bash
Next, we’ll activate it so we can use the “ent” command.
To check that the “ent” command is working, type:
This tells you where ENT is installed and which version you’re using.
Now let’s check out ENT’s capabilities.
~~~~~~~~~~~~~~~~~~~ Entando CLI ~~~~~~~~~~~~~~~~~~~ > Essentials: - Activate using: /Users/ed/.entando/ent/v6.3.2/cli/v6.3.2/activate - Dectivate using: /Users/ed/.entando/ent/v6.3.2/cli/v6.3.2/deactivate > Available commands: - app => Helps managing an EntandoApp - app-info => Displays information about an entando app - bundler => Wrapper for the ENT private installation of the entando bundle tool. - check-env => Checks the environment for required dependencies and settings - diag => Runs some diagnostic and collects the related info in a tgz file - ecr => Helps managing an the Entando ECR - ent => Helps managing an the local ents - help => Helps in having help - host => Helps managing the system that hosts the quickstart VM - jhipster => Wrapper for the ENT private installation of jhipster. - kubectl => Helper for using kubectl in ent managed scenarios - npm => Wrapper for the ENT private installation of npm. This is mostly for internal use - pod => Displays information related to a set of pods - prj => Helps managing Entando bundle projects - profile => Helps managing an EntandoApp - quickstart => Helps locally installing entando instances - run-tests => Run the internal tests
You can get detailed information by using the help command, but it can be useful to have a high level overview of the commands and the use cases they were designed for.
One of the most useful commands, ent prj (project) is how you package updates to your Entando application for distribution across your Kubernetes cluster.
In addition to automatically generating everything you need to get a Spring Boot microservice running in Kubernetes, ENT coordinates the deployment of your micro frontends and microservices as a single deployment.
ENT automates the process of creating and publishing Docker images, deployments (Helm templates), and Kubernetes custom resources, and applies them to your cluster.
Automatically set up your development environment for a specific Entando version and instance.
Spin up a new Entando instance in your local development environment or Kubernetes cluster.
Use profiles to switch between different Entando applications on different clusters using different kubernetes contexts, kubeconfig files, namespaces where your application is deployed, and other configuration data.
View components or packaged components (bundles) that are available for your application. Install, uninstall, and deploy them via the command line. Use this command to update your Entando applications in your Kubernetes cluster.
Generate database entities, microservices and micro frontends.
Snapshot an entire application at a specific point in time, publish snapshots (or application templates) to a shared component repository, migrate applications from one environment to another, and use base templates to easily create new Entando applications.
ent app, app-info, bundler, diag, host, kubectl, npm, pod
View the current state of your application, extract all Kubernetes logs including Entando pods, container logs, and scripts, including Kubernetes level logs, infrastructure level logs, status, and Kubernetes objects.