aah CLI Tool
Here you will learn aah CLI flags, commands and it’s usage. It’s very handy for development, Continuous Integration (CI) and deployment preparation.
aah CLI is fully POSIX compliant flags (includes short and long versions) and command aliases too.
Available Commands
- Global Flags
-h, --help
- show help-v, --version
- print aah framework versions and go version
- list
- new
- run
- build
- clean
- switch
- update
- generate
- help
- Cross Compile Build
Command: list
Since v0.6 list
command, alias l
- it scans GOPATH and lists all the import paths of aah project.
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
aah framework v0.10 - https://aahframework.org
____________________________________________________________________
# Report improvements/bugs at https://github.com/go-aah/aah/issues #
Scanning GOPATH: /Users/jeeva/go/...
4 aah projects were found, import paths are:
github.com/go-aah/tutorials/domain-subdomain
github.com/go-aah/tutorials/html-minify
github.com/go-aah/tutorials/i18n-url-query-param
github.com/go-aah/website
Command: new
new
command, alias n
- helps you to quick start new aah Web and API application. It is an interactive command. Just provide an appropriate inputs and choices.
aah new
Command: run
run
command, alias r
- is used to run the aah application.
Note: It is recommended to use build
command to create build artifact and deploy it on server instead of using run command.
Supported options are:
-i value, --importpath value Import path of aah application
-e value, --envprofile value Environment profile name to activate. e.g: dev, qa, prod
-c value, --config value External config file for overriding aah.conf values
Use aah help run
to learn more.
Command: build
build
command, alias b
- is used to create aah application build artifact for deployment. Default location and name is <app-base-dir>/build/<app-binary-name>-<app-version>-<goos>-<goarch>.zip
or you can use your custom artifact name too.
Supported options are:
-i value, --importpath value Import path of aah application
-e value, --envprofile value Environment profile name to activate. e.g: dev, qa, prod
-o value, --output value Output of aah application build artifact. Default is '<app-base-dir>/build/<app-binary-name>-<app-version>-<goos>-<goarch>.zip'
Artifact naming convention:
<app-binary-name>-<app-version>-<goos>-<goarch>.zip
- For e.g.:
aahwebsite-381eaa8-darwin-amd64.zip
- For e.g.:
Use aah help build
to learn more.
Command: clean
Since v0.7 clean
command, alias c
- is to clean generated files and build directory of the aah project.
Supported options are:
-i value, --importpath value Import path of aah application
Use aah help clean
to learn more.
Command: switch
Since v0.9 switch
command, alias s
- is to switch between aah release
(currently on your GOPATH) and latest edge
version.
Supported options are:
-v value, --version value To mention latest release or edge version (default: "edge")
-w, --whoami To know which version is currently active
-r, --refresh To refresh edge version to the latest codebase # since v0.10
Use aah help switch
to learn more.
Note:
- It works only on GOPATH. Gradually I may add vendorize support.
- It always operates on latest edge version and current release version on your GOPATH, specific version is not supported.
Command: update
Since v0.10 update
command, alias u
- is to update your aah to the latest release version on your GOPATH.
Use aah help update
to learn more.
Note:
- It works only on GOPATH. Gradually I may add vendorize support.
- It always operates on aah latest release version, specific version is not supported.
Command: generate
Since v0.10 generate
command, alias g
- is to generate boilerplate code, configurations and complement scripts, etc.
Use aah generate help
to learn more about available generate sub commands.
Example of systemd service file generate
aah generate script --name systemd --importpath github.com/user/appname
# Short form
aah g s -n systemd -i github.com/user/appname
# If you're on app directory
aah g s -n systemd
Example of docker file generate
aah generate script --name docker --importpath github.com/user/appname
# Short form
aah g s -n docker -i github.com/user/appname
# If you're on app directory
aah g s -n docker
Command: help
help
command alias h
- helps you to learn aah command usage.
# list of available commands
aah help
# to know about one command
aah help build
Cross Compile Build
Set environment variables GOOS
and GOARCH
before executing aah build
command. List of available GOOS and GOARCH values, click here.
Building linux binary on macOS
env GOOS=linux GOARCH=amd64 aah build --output=/Users/jeeva/build
#Output:
...
Your application artifact is here: /Users/jeeva/build/myapp-99bf7df-linux-amd64.zip
Building windows exe on macOS
env GOOS=windows GOARCH=amd64 aah build --output=/Users/jeeva/build
#Output:
...
Your application artifact is here: /Users/jeeva/build/myapp-99bf7df-windows-amd64.zip