The Apprenda Cloud Shell (ACS) is a command line interface (.exe) for developers. The ACS works primarily against the Apprenda Developer Portal application to facilitate developer workflows, as well as open up the Developer Portal to automation and integration with external systems.
Here are just a few examples of Apprenda Cloud Shell usage:
acs RegisterCloud –url http://myprivatecloud.com –alias mycloud
acs ConnectCloud –cloud mycloud -user firstname.lastname@example.org -password mypassword
The RegisterCloud command allows you to store multiple cloud URLs and access them by alias in the future. You connect to a cloud using ConnectCloud and your developer account credentials. Once connected to a particular environment, an entire Visual Studio solution can be compiled, packaged, and uploaded using one single command:
acs NewApplication –appAlias myalias –appName "My New Application" -path "c:\MyProjects\PathTo\MyNewApplication.sln" -stage Published –b
This one command will actually build the MyNewApplication.sln solution, package it up as an Apprenda archive, create a new app on your Apprenda cloud, and push the app all the way to the Published stage. The output of these commands can be piped to logs if desired (part of a build/package/deploy nightly process for which you'd like to review logs).
If you do not want to build the package as part of this process, but rather let your automated build produce the package, you simply modify the command by removing the -path parameter and instead passing the –package parameter with the path to a pre-built archive file.
To support the full automation that the Apprenda Command Shell provides, the Platform supports the following:
- All patching can be conducted via the application archive structure. For example, database patching: There are now facilities for providing a collection of SQL scripts and a manifest instructing the platform how to run them directly within your new version's archive. This means an entire application patch (UIs, services, databases, etc.) can be packaged into a single archive file and the app can be patched via the ACS.
- Entitlement Definitions can be defined via manifest inside your application's archive file.