All Products
Search
Document Center

Compute Nest:Create a service by using a Git repository

Last Updated:Jun 16, 2025

Compute Nest allows you to import repositories from GitHub, Gitee, public GitLab, and Apsara DevOps CodeUp to Compute Nest to create services. This feature helps developers and independent software vendors (ISVs) who register with Compute Nest significantly reduce the complexity of service creation and quickly create services. Developers can then test and update the created services and publish the services to Alibaba Cloud Marketplace. This topic describes how to create a service by using a Git repository.

Prerequisites

A Git repository that you want to use is created.

Overview

You can use Git repositories to quickly create Compute Nest services. To create a service, you need to only grant Compute Nest the permissions to access a Git repository, import the Git repository to Compute Nest, and then perform basic configurations. The following scenarios and configurations are supported.

  • The supported code hosting platforms include GitHub, Gitee, public GitLab, and Apsara DevOps CodeUp. You can grant Compute Nest the permissions to access an appropriate platform and pull a repository that you require from the platform.

  • Various deployment scenarios are supported.

    • Private Service and Managed Service scenarios

      Service type

      Definition

      Description

      Private service

      Software and resources are deployed within the customer accounts.

      Private services are suitable for deploying Platform as a Service (PaaS) and Software as a Service (SaaS) applications in virtual private clouds (VPCs) within customer accounts.

      Fully managed service

      Software and resources are deployed within the service provider accounts.

      Fully managed services are suitable for deploying PaaS and SaaS applications in VPCs within the service provider accounts. Service providers have full permissions to manage the cloud resources and customer applications. Compute Nest allows you to use exclusive resources in the following services: single-tenant fully managed services and fully managed services deployed in multi-tenant Container Service for Kubernetes (ACK) clusters. In single-tenant fully managed services, resources are exclusive to each customer. In fully managed services deployed in multi-tenant ACK clusters, resources are exclusive to each pod.

    • Multiple application runtimes and deployment types

      Application runtime

      Deployment type

      Parameter

      Description

      Container

      Docker Compose

      Docker-Compose Yaml File Path

      Path of a Docker Compose file in a specific repository

      Docker-Compose ENV File Path

      The path of a .env file in Docker Compose in a specific repository. If the repository does not have a .env file, the default .env file is used.

      Custom Deployment Parameters

      The custom environment variable, which is dynamically specified during actual deployment. For example, if the Password variable is set to test in a .env file.

      You can specify a custom password to replace the default value in the .env file when you deploy the service.

      Dockerfile

      Dockerfile Path

      The path of the Dockerfile file in a specific repository.

      Custom Deployment Parameters

      The key of the environment variable of the Docker runtime. For example, in the docker run -e key=value command, the value parameter specifies the actual value that you enter during deployment.

      Advanced Options: Docker Image Build Parameters

      The parameter used to build a Docker image. The parameter is suitable for scenarios in which the multi-stage feature is enabled for Dockerfiles and environment variables must be specified before you can build an image.

      Buildpacks

      Custom Deployment Parameters

      The key of the environment variable of the Docker runtime. For example, in the docker run -e key=value command, the value parameter specifies the actual value that you enter during deployment.

      Service Port

      The service port. After a service is deployed, the service can be accessed by using <IP address>:<Port>.

      Inbound Port of Security Group

      The inbound port of the security group that you want to access based on your business scenario.

      Kubernetes Cluster

      Helm Chart

      Chart Directory

      The directory in which a Helm chart resides. You can select the chart directory in a repository when you create a service.

      Chart Values

      This parameter is used to configure custom variables for Helm charts. After you specify the chart directory, the values of the custom Helm chart parameters overwrite the default values.

      Output Content Type

      The output content type, including the content in a document that comes along with a Helm chart or the custom content that is displayed by running commands.

      Linux Shell

      SourceCode

      Root Directory

      The root directory of the source code or the source application. Commands are run in the root directory.

      Custom Deployment Parameters

      The parameter name that is dynamically passed in a command or script. Replace the parameter name with the actual parameter name when you deploy the service.

      Commands

      The commands that are run on application startup.

      Base Image

      The base image. You can select a CentOS 7.9, Node.js 20, or Docker 26 base image.

      Service Port

      The port from which the application that you want to deploy can be accessed.

      Inbound Port of Security Group

      The inbound port that is defined in the security group.

      Timeout Period

      The timeout period for command execution. This prevents resource wastes that occur when commands are not run for an extended period of time.

  • Elastic Compute Service (ECS) images can be managed and built. Failures to pull Docker images may occur due to various reasons in the Chinese mainland. To prevent such failures, Compute Nest pulls Docker images in repositories to ECS instances over the Alibaba Cloud transmission network and builds ECS images based on the Docker images. The Docker images are managed by Compute Nest and shared with your Alibaba Cloud account.

  • Services can be updated by using code repositories. When a new commit is made in a repository, Compute Nest automatically pulls the latest repository to update the related service.

Procedure

  1. Log on to the Compute Nest console.

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

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

    1. Select a service creation method and configure the repository information.

      Parameter

      Description

      Select Service Creation Method

      Select Quick Launch (From Repository).

      Repository User/Organization

      If your customers belong to an organization repository, you can select a personal repository or an organization repository.

      Repository Name

      The name of the repository to which you want to import your service.

      Repository Branch

      The branch of the repository.

      After you specify a repository branch, Compute Nest automatically detects resource description files in the repository branch. You can proceed to the next step only if a resource description file is detected.

    2. After you select a repository, the Basic Information Configuration page appears. You can select specific configurations based on your business requirements.

      In this example, the LobeChat application is deployed in a self-hosting manner by using Docker Compose. You can select the corresponding parameters. In the Custom Deployment Parameters section, you configure custom environment variables in the specified Docker Compose .env file. The custom parameters can be dynamically filled in during instance deployment. Click Next: Basic Information Configuration.

    3. Configure the basic information about the service.

      Item

      Description

      Service Icon

      The icon of the service. The JPG and PNG formats are supported. We recommend that you upload an image whose resolution is 192 × 192 pixels for optimal clarity.

      Service Name

      The name of the service. The name can be 3 to 200 characters in length, and can contain digits, letters, and underscores (_).

      The system generates a default name for your service based on your repository information. You can use the default name or customize a name.

      Service Description

      The description of the service. The description can be 10 to 500 characters in length.

      Version Description

      The description of the service version. The version description must be 1 to 200 characters in length. We recommend that you add information about the software version to this description. The description of each version must be unique within a service.

      Service Agreement Documentation

      The name of the service agreement document and URL of the document defined by the service provider.

  4. Click Create Service. In the message that appears, click OK. After the service is created and submitted, you can click Go to List.

  5. On the My Services page, the service is in the Creating state. You can click View Logs and wait until the service is created. If the operation fails, an error log is reported. You can modify the repository and parameters based on the log content. If BuildService Success appears in the log, the service is created.

  6. After you refresh the My Services page, the service is in the Pending Pre-release state.

What to do next

  1. Update the service.

    To update the service, click Modify Version on the service card. In the Modify Version dialog box, select Update in Console or Update by Synchronized Repository and then click OK. If you select Update by Synchronized Repository, Compute Nest pulls a repository of the service again from the background and builds the service based on the files in the current repository.

  2. Test the service.

    After you save the service, you can test the service. You can also pre-release the service and then share the service with the specified users to test the service. For more information, see Test a service.

  3. Publish the service.

    After the service passes the test, submit the service for review. After the review is complete, publish the service. For more information, see Publish a service.