Quick Start
Alibaba Cloud DevOps AppStack provides an application-centric approach to organize development, testing, delivery, and operations activities in an efficient, secure, and orderly way. This document guides you through the complete application delivery process from the perspective of different roles.
For resource administrators
As a resource administrator, you centrally manage your organization's infrastructure resources and allocate them to business applications. The following three steps guide you through the process of resource hosting and allocation.
Step 1: Create a service connection
-
To host an Alibaba Cloud ACK cluster, create an ACK service connection for authorization. For more information, see Service Connections. To host K8s clusters from other vendors or self-managed K8s clusters, you can connect directly by using the cluster's kubeconfig file. The cluster's API server must be reachable over the public network.
-
To host Alibaba Cloud ECS instances, create an ECS service connection for authorization. For more information, see Service Connections. To host instances from other vendors or your on-premises hosts, you can connect directly by installing an agent on the host. The host must be reachable over the public network.
Step 2: Import resources
Alibaba Cloud DevOps AppStack supports hosting self-managed K8s clusters and traditional hosts. For detailed instructions on how to import resources, see Manage Kubernetes Clusters and Manage Host Clusters.
Step 3: Allocate resources to business applications
-
You can skip this step when allocating resources from a self-managed K8s cluster. The namespace can be specified later in the deployment orchestration.
-
To allocate resources from a traditional host cluster, go to the details page of the target host cluster and create a deployment group to be allocated to business applications. For more information, see Associate a Deployment Group.
In the left-side navigation pane, click Resource Pool to go to the Resource Pool page. The top of the page displays summary cards with counts for general-purpose K8s clusters, host groups, deployed applications, and deployment environments. Below these cards are a Kubernetes Clusters list and a Host Clusters list, which show the display name, cluster name (or number of hosts, host group name), owner, and creation time. You can use the Import Cluster button in the upper-right corner to import a new Kubernetes cluster or host cluster.
For application owners
As an application owner, you manage the entire go-live process and daily operations for an application. The following five steps guide you through the process from code commit to production release.
Step 1: Create an application
An application is typically a unit that can be independently deployed as a service. To create one, go to Alibaba Cloud DevOps AppStack, click Create Application, enter the Application Name, Tag, and Description, and then click Create.
The Owner is a required field and defaults to the current user. The Application Name is the unique identifier for the application and cannot be changed after creation.
Step 2: Deployment orchestration
Define the deployment architecture for your application. Alibaba Cloud DevOps AppStack supports both K8s YAML and host scripts. Variables allow you to use a single orchestration template to manage different configurations across multiple environments.
-
For details on K8s YAML orchestration, see Orchestrate a Kubernetes Deployment.
On the Edit Application Orchestration page, modify the Deployment manifest in the YAML editor. Define fields that need to vary across environments, such as
containerPort, as placeholders. Click Extract Placeholders, and the system automatically generates corresponding entries in the placeholders list on the right, includingenvName,namespace,cpuLimit,memoryLimit, andcontainerPort. In the placeholder values, you can use the$(variable-name)syntax to reference variables from a variable group. For example, setting the value ofcontainerPortto$(port)allows you to reference theport=8080variable defined in the development variable group, enabling environment-specific configurations. -
For details on host application script orchestration, see Orchestrate a Host Deployment.
On the application orchestration editing page, configure the artifact information for the host deployment: set Artifact Type to HTTP, set Package Source to
{{ .AppStack.artifact.demoapp }}, set Save Path to/home/admin/app/package.tgz, and set Execution User to root. In the Start Script, execute commands to create a directory, extract the package, and rundeploy.sh start. In the Stop Script, executedeploy.sh stop. Keep the Health Check Script and Clean-up Script disabled. In the Artifacts section on the right, addartifact.demoappto define the artifact package URL. In the Placeholders section, addenvName(type: string; value source: variable). The placeholder values in the script can reference variables defined in a variable group. For example, a variable group can define aportvariable with a value of8080for the development environment.
Step 3: Plan environments
Configure the environments and resources required for application deployment. For more information, see Environment Deployment Policies.
-
Alibaba Cloud DevOps AppStack provides three default environments: development, testing, and production. You can view them on the application's environment list page.
The environment list page displays each environment as a card. Each card shows the environment level tag, deployment status (Not Deployed, Running, or Deploying), and the current version number. You can click Create Environment in the upper-right corner to create a custom environment, such as a UAT environment.
-
You can also create custom environments, select a deployment method, and associate them with the appropriate resources and variable groups. For more information, see Manage Environments.
When you create a new environment, you must provide its Name, Display Name, Tag, and Description. The available deployment methods (Kubernetes Deployment or Host Deployment) depend on the application's orchestration type, and each environment can use only one method. The associated variable group is used to replace variables in the orchestration during deployment.
Step 4: Development process configuration
-
Configure the application's development process, which is typically divided into testing, staging, and production pipelines. These pipelines include build and deploy steps and support features like manual checks. For more information on process standards, see Development Process Specifications.
A typical production pipeline consists of four sequential stages: Pipeline Source (linked to a code repository and branch), Image Build, Release Review (a manual check), and Production Environment Deployment. These stages are executed in sequence.
-
For the deployment step, select AppStack Deployment. Then, choose the Application and Environment to deploy to. The artifacts are typically the output of an upstream build stage.
In the Artifacts section, select the tag data source and check the boxes for Automatically create a deployment order, Manual confirmation is required if the last deployment failed, and Manual confirmation is required if a new orchestration version is available.
Step 5: Application release
When code for a requirement is ready, commit it and run the pipelines for each stage (such as development and testing) to deploy the application to its corresponding environment.
On the application development process page, the pipelines are arranged from left to right in three stages: Development, Test, and Production. Each stage displays its current status (such as Succeeded or Pending). You can trigger a stage's pipeline by clicking its corresponding Run button.
You can view the details of a deployment order to monitor the progress of a batched release.
After deployment, check the batched release status (such as the progress of batch 1 and batch 2) in the Deployment Progress section of the deployment order details page. You can also view the resource topology, which shows the relationship from Deployment → ReplicaSet → Pod, to confirm that all Pods are ready.
After a successful deployment, you can check the resource status and logs on the environment details page. After the application passes testing and verification in each environment, you can release it to production to complete the delivery cycle. If you need to use ARMS for monitoring in your production environment, see Monitor Application Environments with ARMS and Alibaba Cloud DevOps AppStack.
On the environment details page, under the Workloads tab, confirm that the Deployment status is Succeeded and all its Pods are in the Running state.
Best Practices
For best practices related to specific applications, see the following documents: