Micro Learning: Enhancing Developer Productivity with ENT CLI

This micro learning series will help you get familiar with Entando 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.

Ed Shin - Tuesday, June 1, 2021
Tags: Engineering

Micro Learning Series: ENT CLI

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.

  1. Enhancing Developer Productivity → This lesson
  2. Quickstart Environment
  3. Packaging and Deployment
  4. Working with Multiple Environments
  5. Component Repository
  6. Utilities & Diagnostics

Each lesson is designed to take ~5 minutes so you can learn without disrupting your workday.

What You’ll Learn

In this lesson, we’ll install ENT CLI, and explore its capabilities. In the next lesson, we’ll use ENT CLI to quickly spin up an instance of Entando.

Install ENT CLI

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.

source "$HOME/.entando/activate"

Check Install

To check that the “ent” command is working, type:

ent which

This tells you where ENT is installed, and which version you’re using.

ENT Commands

Now let’s check out ENT’s capabilities.

ent help
~~~~~~~~~~~~~~~~~~~
 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.

Packaging & Deployment

ent prj

One of the most useful commands, ent prj (project) is how you package Entando sources 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 frontend components that talk to your microservices on a micro frontend architecture.

ENT automates the process of creating and publishing Docker images, Helm templates (deployments), and custom resources. It also applies these updates to your cluster.

Environment Setup

ent check-env

Easily set up your development environment for a specific Entando version and instance.

Quickstart

ent quickstart

Spin up a new Entando instance in your local development environment or Kubernetes cluster.

Working with Multiple Environments

ent profile

Use profiles to easily switch between different Entando applications on different clusters using different kubernetes contexts, kubeconfig files, namespaces where your application is deployed, and other configuration data.

Component Repository

ent ecr

View components or packaged components (bundles) that are available for your application. Install, uninstall, and deploy them via the command line. A convenient way for developers to update a running application in your Kubernetes cluster without having to manually complete the steps as a site administrator.

Code Generator

ent jhipster

Generate database entities, microservices and micro frontends.

Bundle Export / Import

ent bundler

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.

Utilities & Diagnostics

ent app, app-info, bundler, diag, host, kubectl, npm, pod

Simplify development environment setup by automatically checking, installing, and configuring all dependencies required for development. 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.

What’s Next?

In the next lesson, we’ll use the quickstart command to set up our own Entando instance on Kubernetes.

Additional Resources

White_Paper_cover.png

Learn How To Create Better Apps, Portals, & Websites--Faster.

This white paper outlines how your organization can accelerate UX innovation by developing with micro frontends on Kubernetes, as well as how a micro frontend platform can help you execute this methodology more effectively.