Hexa – The ultimate companion for the Azure CLI. Setup and deploy in seconds.
What is Hexa?
Hexa is a open source command line tool to easily setup and deploy your applications to Microsoft Azure. It takes full advantage of the Azure CLI, the Azure Function Core Tools CLI and the NPM CLI.
Hexa allows to seamlessly configure, setup and deploy to different Azure services such as Resource Groups, Storage accounts, Hosting, Azure Functions and Databases (CosmosDB and Table Storage).
Hexa is driven by community contributions. Please send us your Pull Requests and feedback!
In order to use Hexa, you will need to install both the Azure CLI and Functions Core Tools:
- Follow the official guide to install the Azure CLI.
- Follow the official guide to install the Azure Functions Core Tools.
Once these tools are installed and available on your system, you are ready to install and use the Hexa CLI.
Installing the Hexa CLI
You can install the Hexa CLI using
$ npm install --global @manekinekko/hexa
To make sure the Hexa CLI has been correctly, you can execute the
hexa command from anywhere in your system and you should see the default usage output:
Usage: hexa <command> Options: -V, --version output the version number login connect to your Azure init initialize a new workspace deploy deploy to Azure -f, --force override all confirmations (default: false) -r, --relogin force login (default: false) -c, --create enable resource creation (default: true) -m, --manual enable Manual mode (default: false) -d, --debug enable debug mode (default: false) -s, --sas use SAS token (only: storage and database) (default: false) -t, --token generate a Storage token into a .env file (default: false) -j, --just <services> setup or deploy only the selected services (e.g. --just functions,hosting) (default: false) --yolo enable all modes and all services (default: false) -h, --help output usage information
In order to use the Hexa CLI to configure and setup your Azure services, run the
hexa init command inside one of your project that you want to setup for Azure. The Hexa CLI will guide you through the setup process.
For example, if you want to setup your project
Foothat lives inside the
./foo folder, here are the steps:
$ cd foo
$ hexa init
Once your project is setup and configured, you will see a newly created file called
hexa.json. This file contains the configuration for your project
Whenever your project Foo is ready to be deployed to Azure, you can use the
hexa deploy inside the
./foo folder and let Hexa takes care of the deploy process.
$ hexa init --just=hosting,functions: Hexa will setup and configure just the requested services. Current supported services are
database. Please note that a Resource Group and a Storage Accout will automatically be setup as these are required by the other services.
$ hexa init --token: Hexa will also create a
.envfile which contains the Connectio String token for your storage account. Hexa does not use this token! It is meant for you to use.
$ hexa init --token --sas: Hexa will generate a SAS token for your storage account (instead of a Connection String).
$ hexa init --manual: Hexa will enter a Manual Mode and will ask you to make a choice for each step.
$ hexa init --manual --create: In manual mode, by default, Hexa would only let you choose an resource from your existing ones. The
--createflag allows you to manually create a new resource/service at your convenience.
$ hexa init --yolo: Hexa will enter an Auto Mode and will setup all supported services (except if you use the
--justflag) without asking you any question.