Deployment Overview
The AIO CLI allows developers to deploy their App Builder app to Adobe servers. The following guide explains how App Builder apps are deployed. Read our CI/CD guide, to set up a CI/CD pipeline to deploy your app.
data-slots=text
aio login) or set up a CI/CD pipeline using the OAuth Server-to-Server credential to deploy your App Builder app.data-slots=text
- Which components of the App Builder app are deployed?
- Multiple deployment environments
- How to deploy your app?
- Tracking deployment activity
- Undeploying your app
- Next steps
Which components of the App Builder app are deployed?
An App Builder app can contain different components - frontend, backend, extensions, and event registrations. These components are declared in the app.config.yaml file. When you deploy your App Builder app, the following components are deployed.
-
Frontend web assets: During deployment, web assets (html, js, css, .map, images, and other static assets) are packed and deployed to the App Builder CDN. The CDN is automatically provisioned in the selected Project and Workspace.
-
Adobe I/O Runtime entities: During deployment the following Runtime entities are deployed to the Adobe I/O Runtime namespace in the selected Project and Workspace.
-
Extensions - During deployment, your app is registered as an extension in the Adobe extension registry against any extension points implemented in the app.
-
Event Registrations - During deployment, any event registrations defined in the
app.config.yamlfile are created in the selected Project and workspace.
Here's a sample app.config.yaml file containing different components of the App Builder app.
application:
actions: actions
web: web-src
runtimeManifest:
packages:
test-app:
license: Apache-2.0
actions:
generic:
function: actions/generic/index.js
web: 'yes'
runtime: nodejs:18
inputs:
LOG_LEVEL: debug
annotations:
require-adobe-auth: true
final: true
generic2:
function: actions/generic/index.js
web: 'yes'
runtime: nodejs:22
inputs:
LOG_LEVEL: debug
annotations:
require-adobe-auth: true
final: true
sequences:
all_generic:
actions: generic, generic2
triggers:
triggerA:
inputs:
name: Foo
place: the Shire
Every24Hours:
feed: /whisk.system/alarms/alarm
inputs:
cron: "0 */24 * * *"
name: Foo
rules:
generic2OnCron:
action: generic2
trigger: Every24Hours
ruleA:
action: generic
trigger: triggerA
apis:
my-api-name: # API Name
some-base-path: # Base Path
some-relative-path: # Relative Path
generic: # Name of the action to connect this path to
method: get
response: http
my-api-name-2: # API Name
some-base-path-2: # Base Path
some-relative-path/{id}: # Relative Path
generic: # Name of the action to connect this path to
method: get
response: http
Multiple deployment environments
By default, an App Builder Project on the Developer Console contains a Production and a Stage workspace. The Production and Stage workspaces can be used by your team for shared production and staging environments, respectively. Furthermore, you can add more workspaces to your App Builder project, even an individual workspace for every developer on your team.
Each workspace is completely isolated from other workspaces and can be deployed separately. To deploy to a workspace, you must select it before running the aio app deploy command. See the section below for more information.
How to deploy your app?
The following steps outline how you can deploy an App Builder app from your machine. If you want to deploy it from a CI/CD pipeline, please read our guide on setting up a CI/CD pipeline.
data-slots=text
app.config.yaml, .aio, and .env files.-
Open your terminal and navigate to the root of your App Builder app. The directory that contains the
app.config.yaml,.aio, and.envfiles. -
Ensure you are logged in to the CLI. Make sure to pick the correct account (personal vs company account) and the correct profile during the login.
aio loginIf you want to log in to a different account, you can use the
aio logout --forcecommand to log out. -
Ensure a Developer Console Project and Workspace is selected in your project. If you are at the root of your App Builder app, the Project and Workspace will be determined using the values in the
.aiofile.aio where -
If a Project and Workspace is not selected, or you want to pick a different one, navigate to the Project and Workspace on the Developer Console. On the Workspace overview page, click the
Download allbutton to download theworkspace-config.jsonfile.
aio app use <path_to_workspace_config_json_file>When prompted, be sure to merge the
.aioand the.envfiles to avoid losing any other configuration you may have added to those files. -
To deploy the app, run
aio app deployYou can view the help menu (
aio app deploy --help) to understand the advanced deployment options available to you. Using these options you can deploy only parts of your application or skip deploying some parts.Note: you can skip steps 2-4 if you have already logged in to the CLI and selected the correct Project and Workspace.
-
Once your app is deployed it will be available at
https://<namespace>.adobeio-static.net/
Tracking deployment activity
Whenever a developer makes a change to a Project, her action is recorded in the Project Activity Logs. Each activity log describes who made what change, and when.
Activities related to deploying an App Builder are also captured in the Project Activity Logs. This includes deployment to any Workspace in the Project. Furthermore, Activity logs are captured whether the app is deployed from a developer's machine or from a CI/CD pipeline.
Note: While deployment activity is recorded, the actual contents of the deployment are not recorded in the activity logs.
The following deployment activities are captured as Project Activity logs:
- Deploying and undeploying static assets to the App Builder CDN.
- Deploying Action code to Adobe I/O Runtime.
- Deploying Triggers, Rules, Sequences, or APIs to Adobe I/O Runtime.
- Changing the Log forwarding configuration for the workspace.
data-slots=text
- The AIO CLI v11 introduces the mandatory use of Adobe IMS authentication to deploy App Builder apps. Therefore, Activity logs are only captured if you use AIO CLI v11 or higher.
- Once AIO CLI v11 reaches critical adoption, Adobe will announce plans to restrict deployments from AIO CLI v10 or lower. Meanwhile,for a better security posture, we strongly recommend customers to upgrade the AIO CLI version to v11 or higher.
data-slots=text
Undeploying your app
You can run the aio app undeploy command at the root of your App Builder app to undeploy all components deployed through the aio app deploy command.
You can view the help menu (aio app undeploy --help) to understand the available advanced options. Using these options you can undeploy only parts of your application.
Use this command carefully because if you inadvertently undeploy the app from the Production workspace, it could result in downtime. You can of course deploy the app again immediately.
Note: Starting with AIO CLI v11, Adobe IMS authentication is also required to undeploy your app.
Next steps
Continue to CI/CD for App Builder Applications.
Set up CI/CD using GitHub Actions.
Set up custom CI/CD pipeline.
Return to the Guides Index.