All Products
Search
Document Center

Compute Nest:Create a service from a Git repository

Last Updated:Apr 25, 2026

Compute Nest allows you to create services by importing a repository from GitHub, Gitee, a public GitLab, or Alibaba Cloud DevOps CodeUp. This feature simplifies service creation for developers and service providers, helping you build, test, update, and publish services to Alibaba Cloud Marketplace faster. This topic describes how to create a service from a Git repository.

Prerequisites

Before you create a service from a Git repository, ensure that you have a repository ready. For more information, see Create a Git repository that meets Compute Nest specifications.

Overview

You can convert your Git repository into a Compute Nest service. To get started, authorize Compute Nest to access your repository, import it, and then configure its basic settings. This feature supports multiple scenarios and configuration options:

  • Compute Nest supports importing repositories from GitHub, Gitee, public GitLab, and Alibaba Cloud DevOps CodeUp after you authorize access.

  • Multiple deployment scenarios are supported.

    • You can choose between private service and fully managed service.

      Service type

      Definition

      Description

      private service

      A service that deploys resources and software into a customer account.

      Use case: Suitable for PaaS and SaaS applications deployed within a VPC in the customer account.

      fully managed service

      A service that deploys resources and software in the service provider's account.

      Use case: Suitable for PaaS and SaaS services deployed within a VPC in the service provider's account. The service provider fully manages the customer's cloud resources and applications. Compute Nest supports scenarios with customer-dedicated resources, including two modes: managed single-tenant (fully dedicated resources) and managed ACK multi-tenant (resources dedicated per ACK pod).

    • Multiple application runtimes and deployment types are supported.

      Application runtime

      Deployment type

      Parameter

      Description

      container

      Docker Compose

      Docker Compose YAML path

      Specifies the path to the Docker Compose file in the repository.

      Docker Compose .env path

      Specifies the path to the Docker Compose .env file in the repository. If no .env file exists in the repository, the default value (.env) is used.

      User deployment parameters

      Sets custom environment variables that users can provide during deployment. For example, your .env file contains Password=test.

      You must configure fields such as Parameter Name, Environment Variable Name, Type, and Default Value. You can also configure advanced settings like Match Expression. To treat the parameter as a password, enable the Is Password Component toggle. Click the + Add button to add more parameters.

      This allows users to enter a custom password during deployment, which replaces the variable's value in the .env file.

      Dockerfile

      Dockerfile path

      Specifies the path to the Dockerfile in the repository.

      User deployment parameters

      Specifies the key for a Docker runtime environment variable. For example, in docker run -e key=value, value is the actual parameter value provided by the user during deployment.

      Advanced options: Docker image build parameters

      Specifies Docker image build arguments. This is useful when your Dockerfile uses the multi-stage builds feature and requires environment variables to be set before the image is built.

      Buildpacks

      User deployment parameters

      Specifies the key for a Docker runtime environment variable. For example, in docker run -e key=value, value is the actual parameter value provided by the user during deployment.

      Service port

      Specifies the port for the service. After deployment, the service is exposed at ip:port.

      Security group inbound port

      The inbound port of the security group, which acts as a firewall. Specify the ports to open based on your software's configuration.

      Kubernetes cluster

      Helm chart

      Chart directory

      Specifies the directory where the Helm chart is located. You can select a chart directory from the repository to configure the service.

      Chart values

      Defines variable parameters for chart deployment, often to override default values.

      Output type

      You can specify the output type, including the default instructions from the Helm chart or a custom output command.

      Linux Shell

      Source code

      root directory

      Specifies the root directory of the source code or application. Subsequent commands are executed in this directory.

      User deployment parameters

      Defines parameters to pass to the application's runtime command or script. Users will provide the actual values during deployment. For example, you can configure a parameter named MyPassword. The user-provided value is set as the PASSWORD environment variable. This variable can be referenced in runtime commands and is automatically substituted during execution.

      For example, you can configure echo "$PASSWORD" in the run command field to reference the parameter.

      Commands

      Specifies the commands to run when the application starts.

      base image

      Specifies the base image. You can choose images like CentOS 7.9, Node.js 20, or Docker 26.

      Service port

      The port exposed by the application.

      Security group inbound port

      Specifies the inbound ports to open on the firewall.

      Timeout period

      Sets the timeout for the runtime command to prevent resource waste if the startup process runs too long.

  • Supports managed ECS image builds: To address potential network issues and failures when pulling Docker images within the Chinese mainland, Compute Nest can use Alibaba Cloud's network acceleration to pull Docker images from your repository to an ECS instance. Compute Nest then builds them into an ECS image, which helps prevent pull failures. This image is managed by Compute Nest and shared with your Alibaba Cloud account.

  • Supports service updates from the code repository. When you push new commits to the repository, you can update the service directly. Compute Nest automatically pulls the latest repository version to rebuild the service.

Procedure

  1. Log on to the Compute Nest console.

  2. In the left-side navigation pane, choose My Services. On the My Services page, click the Created Services tab, and then click Create Service.

  3. On the Create Service page, configure the service information.

    1. Select the creation method and set the repository information.

      Parameter

      Description

      Select service creation method

      Select Create Service from Repository.

      Repository user/organization

      If your repository belongs to an organization, you can select your personal repository or the organization name.

      Repository name

      Select the repository from which you want to create the service.

      Repository branch

      Select a branch from the repository.

      After you select a branch, Compute Nest automatically scans it for a resource description file. If no file is detected, you cannot proceed to the next step.

    2. After you select a repository, the service configuration page appears automatically. Configure the settings based on your requirements.

      For example, to deploy LobeChat, which supports self-hosting via Docker Compose, you can select the corresponding configuration options. The User deployment parameters section allows you to parameterize environment variables from the Docker Compose .env file, enabling users to input custom values during instance deployment. After you complete the configuration, click Next Step: Basic Information Configuration.

      The page is divided into Deployment Configuration and Environment Configuration sections. In the Deployment Configuration section, select the Service type (such as private service) and the service build region. In the Environment Configuration section, select the application runtime (such as container) and deployment type (such as Docker Compose), and configure the corresponding file paths.

    3. Configure the basic information for the service.

      Parameter

      Description

      Service icon

      Upload an icon for the service. JPG and PNG formats are supported. For best results, use an image with a resolution of 192x192 pixels.

      Service name

      Enter a name for the service. The name must be 3 to 200 characters long and can contain Chinese characters, letters, digits, and underscores (_). A Chinese character counts as two characters.

      The system automatically generates a name based on your repository information. You can use the default name or specify a new one.

      Service description

      Enter a description for the service. The description must be 10 to 500 characters long. A Chinese character counts as two characters.

      Version description

      Enter a description for the service version. The description must be 1 to 200 characters long. We recommend including the specific software version. Version descriptions must be unique within a service.

      Service agreement documentation

      Enter the name and URL of the custom service agreement document provided by the service provider.

  4. Click Create Service, and then click OK in the confirmation dialog box. After the service creation request is submitted, click View Service in the notification.

  5. Return to the My Services page. The service status is Creating. You can click View Logs to monitor the creation process. If the creation fails, an error log is generated. You can use the log to troubleshoot and adjust your repository and parameter settings. Service creation is successful when the message BuildService Success appears in the log.

  6. Refresh the service page. The service status changes to Pending Pre-release.

Next steps

  1. Update the service.

    To update the service later, click the Modify Version button and select either Update in Console or Update by Synchronized Repository. If you choose to update from the repository, Compute Nest pulls the latest files and rebuilds the service.

    The Update in Console option provides a visual interface for updates. Changes made in the console are not synchronized back to your repository.

  2. Test the service.

    After you save the service, you can test it yourself or pre-release it to specific customers for testing. For more information, see Test a service.

  3. Publish the service.

    After the service passes testing, submit it for review. Once approved, you can publish it. For more information, see Publish a service.