# Build and Publish a Bundle Project
This tutorial describes how to deploy an existing Entando project directory into the Local Hub. Following the steps below will:
- Build Docker images for the bundle and any microservices
- Push the Docker images to a Docker registry
- Apply the bundle custom resource to Kubernetes
- Install the bundle into an Entando Application
The Entando Bundle CLI tool (ent bundle) automates many of the tasks involved in deploying an Entando project bundle.
- Verify dependencies with the Entando CLI:
ent check-env develop
- Authenticated Docker credentials
- A Docker repository
- A running Entando instance with your profile attached, e.g. use
ent attach-vm YOUR-VM-NAME. Refer to Profile and Configuration Management for information on connecting to and configuring an instance.
- An Entando project directory. You can create this from scratch or with the Entando Component Generator.
# Create and Deploy a Bundle Project
The following steps leverage the Entando
ent bundle command and its convenience methods.
From the root bundle directory, generate the Docker image:
ent bundle pack
This builds the bundle components and Docker images.
Publish the Docker image to a Docker registry:
ent bundle publish
Deploy the bundle to your Entando Application:
ent bundle deploy
Your bundle will appear in the Local Hub of your Entando instance, accessible from
Hub, and show a status of DEPLOYED.
Install the bundle in your Entando Application from
Hubor with the following command:
ent bundle install
Your bundle will now show a status of INSTALLED.
The Entando Platform downloads and installs the Docker images for microservices and installs the micro frontends into the Entando Application. You can add micro frontend widgets to a page or page template provided by Entando, or to one you create yourself following the Page Management tutorial.
An application based on the Entando Blueprint expects a user to be authenticated. If your project bundle was generated using the Entando Component Generator, your widget can only be added to a page template that includes the UX fragment