Help Center/ ServiceStage/ User Guide/ Component Management/ Redeploying a Component/ Redeploying a Component in Rolling Release Mode
Updated on 2024-09-27 GMT+08:00

Redeploying a Component in Rolling Release Mode

You can select a historical version configuration from the deployment record list and use the version configuration as a template to redeploy components in rolling release mode.

In rolling release mode, only one or more instances are deployed at a time and then added to the production environment. This process repeats until all old instances are upgraded. Services will not be interrupted during the deployment.

Prerequisites

Redeploying a Component in Rolling Release Mode

  1. Log in to ServiceStage.
  2. Use either of the following methods to go to the Deployment Records page.

    • On the Application Management page, click the application to which the component belongs, click the target component in Component List, and choose Deployment Records in the left navigation pane.
    • On the Component Management page, click the target component and choose Deployment Records in the left navigation pane.

  3. In the Deployment Records list, select the deployment record of the historical version to be used as the configuration template.
  4. Click Redeploy in the upper right corner of the page. The Redeploy dialog box is displayed.
  5. Select Rolling Release for Deployment Type and click OK.
  6. Configure the component version by referring to the following table. Parameters marked with an asterisk (*) are mandatory.

    Parameter

    Description

    Stack

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    *YAML Mode

    Uses YAML configurations to redeploy components if the component is deployed in the Kubernetes environment.

    • Disabled: The UI configurations are used to redeploy components.
    • Enabled: The YAML configurations are used to redeploy components. The latest load information of the component is automatically synchronized from CCE where the target component is deployed for component redeployment after modification. Alternatively, click Import YAML File to import the edited YAML configuration file of the target component.
    NOTE:

    If YAML configurations are used to redeploy components, the parameters in the YAML configuration file are described in Deployment.

    *Software Package/Image

    The value is fixed to the component source selected during component creation and deployment.

    • YAML Mode disabled: If you select Source code repository, create authorization by referring to Authorizing a Repository and set the code source. If you select a software package or image package, the option is fixed to the software package type (JAR, WAR, or ZIP) or image package type selected during component creation and deployment. It is determined by the selected technology stack type. For details, see Table 1.
    • YAML Mode enabled: If you select Source code repository, create authorization by referring to Authorizing a Repository and set the code source. If you select a software package, the option is fixed to the software package type (JAR, WAR, or ZIP) selected during component creation and deployment. It is determined by the selected technology stack type. For details, see Table 1.

    *Upload Method

    • YAML Mode disabled: If the component source is software package or image package, select an uploaded software package or image package. For details about the upload method, see Component Source.
      NOTE:

      If you select an image package:

      • You can customize the container name. The name contains 1 to 63 characters, including lowercase letters, digits, and hyphens (-), and must start with a lowercase letter and end with a lowercase letter or digit.
      • Click in the upper right corner of the selected image package to change the image package source.
    • YAML Mode enabled: If the component source is software package, select an uploaded software package. For details about the upload method, see Component Source.

    *Command

    This parameter is mandatory when YAML Mode is disabled, the component source is Source code repository, the component is deployed in the Kubernetes environment, and the selected technology stack type is Java, Tomcat, Node.js, Python, or PHP.

    • Default command or script: preferentially executes build.sh in the root directory. If build.sh does not exist, the code will be compiled using the common method of the selected language. Example: mvn clean package for Java.
    • Custom command: Commands are customized using the selected language. Alternatively, the default command or script is used after build.sh is modified.
      NOTICE:
      • If Custom command is selected, exercise caution when inputting sensitive information in the echo, cat, or debug command, or encrypt sensitive information to avoid information leakage.
      • To run the compilation command in the project subdirectory, you need to go to the project subdirectory and then run other script commands. Example:

        cd ./weather/

        mvn clean package

    *Dockerfile Address

    This parameter is mandatory when YAML Mode is disabled, the component source is Source code repository, the component is deployed in the Kubernetes environment, and the selected technology stack type is Java, Tomcat, Node.js, Python, or PHP.

    Dockerfile Address is the directory where the Dockerfile is located relative to the root directory (./) of the project. The Dockerfile is used to build an image.

    If Dockerfile Address is not specified, the system searches for the Dockerfile in the root directory of the project by default. If the Dockerfile does not exist in the root directory, the system automatically generates the Dockerfile based on the selected operating environment.

    *Component Version

    Component version number, which can be automatically generated or customized.

    • Automatically-generated: Click Generate. By default, the version number is the time when you click Generate. The format is yyyy.mmdd.hhmms, where s is the ones place of the second in the timestamp. For example, if the timestamp is 2022.0803.104321, the version number is 2022.0803.10431.
    • Customized: Enter a value in the format of A.B.C or A.B.C.D. A, B, C, and D are natural numbers. For example, 1.0.0 or 1.0.0.0.
      NOTICE:

      The customized version number must be unique and cannot be the same as any historical version number of the component. Otherwise, the current deployment record will overwrite the historical deployment record of the same version.

    *Container Name

    If the component is deployed in a container and the technology stack is not Docker, you can customize the container name.

    The name contains 1 to 63 characters starting with a lowercase letter and ending with a lowercase letter or digit. Only lowercase letters, digits, and hyphens (-) are allowed.

    Environment variables

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    This parameter is available when the component is deployed based on VM.

    Resources

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    This parameter is available when YAML Mode is disabled and the component is deployed based on a container.

    JVM Parameters

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    This parameter is available when YAML Mode is disabled and the technology stack type is Java or Tomcat. It configures the memory size during Java code running.

    Tomcat

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    This parameter is available when YAML Mode is disabled and the technology stack type is Tomcat. It configures parameters such as the request path and port number of Tomcat.

    Cloud Service Settings

    If YAML Mode is disabled, set cloud service settings by referring to Managing Cloud Service Settings of a Container-Deployed Component.

    Container Settings

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    If YAML Mode is disabled, the container settings of container-deployed components are displayed.

    Advanced Settings

    The value is fixed to the configuration of the selected historical version and cannot be changed.

    If YAML Mode is disabled, the advanced settings of container-deployed components are displayed.

    Advanced Settings

    If the component is deployed based on VM, set Microservice Engine by referring to Binding a Microservice Engine.

    *Deployment Batches

    Number of batches in which component instances are upgraded. The value range is [1, Total number of instances]. Total number of instances refers to the number of running instances of the component.

    For example, if there are 4 component instances and Deployment Batches is set to 2, these component instances are upgraded in two batches, and each batch involves two component instances.

    *Graceful Time Window

    This parameter is available when the component is deployed based on a container.

    You can set a graceful scale-in time window to save important data before a component instance stops. The value ranges from 0 to 9999, in seconds. The default value is 30.

    For example, if an application has two instances and only one instance will be kept after the scale-in operation, you can still perform certain operations on the instance to be stopped in the specified time window.

    *Pause Before Stop

    This parameter is available when the component is deployed based on VM.

    The Rx traffic will be processed during this period of time. The value ranges from 0 to 600, in seconds. The default value is 30.

    Best Effort Mode

    This parameter is available when the component is deployed based on VM.

    Click to enable the best effort mode. If the upgrade fails, the remaining instances will be upgraded.

    NOTICE:

    Exercise caution when enabling the best effort mode. After the best effort mode is enabled, all instances may fail to be upgraded in extreme cases, affecting service functions.

  7. Click Upgrade.

    In the Deployment Records area, you can view the deployment progress and wait until the deployment is complete.