Configuring a Release Policy
The rolling upgrade template is preset in release management. This section describes how to add the rolling upgrade plug-in and configure a release policy by using the preset rolling upgrade template.
Currently, the UCS pipeline only presets the rolling upgrade template.
- On the environment details page, click Release Policy.
Figure 1 Release policy
- On the right of Custom Policies, click . In the displayed dialog box, select a policy template as needed, and click OK.
Figure 2 Creating a policy
- Configure basic information and add plug-ins to customize the template.
There are two deployment modes for rolling upgrade: image upgrade and YAML deployment.
Image Upgrade
When you select image upgrade, you need to select the related namespace, workload, and container. During deployment, the pipeline will change the image to the container image of the workload of the namespace.
Figure 3 Image upgrade
YAML Deployment
You need to create a YAML file in the code repository and enter the YAML path of workload.
Figure 4 YAML deployment
If a private image is pulled, perform the following steps:
In UCS, configure a Docker image repository key for the corresponding cluster and record the key name. For details, see Secrets.
Choose Release > Environment > Environment Variable to set environment variables. You can reference environment variables in the format of {{}} in YAML files.
Figure 5 Configuring environment variables
Example YAML file:
kind: Deployment apiVersion: apps/v1 metadata: name: {{app_name}} namespace: {{namespace}} spec: replicas: 3 selector: matchLabels: app: {{app_name}} version: v1 template: metadata: labels: app: {{app_name}} version: v1 spec: containers: - name: container-1 image: {{ARTIFACT}} env: - name: PAAS_APP_NAME value: {{app_name}} - name: PAAS_NAMESPACE value: {{namespace}} - name: PAAS_PROJECT_ID value: {{PROJECT_ID}} resources: limits: cpu: 250m memory: 512Mi requests: cpu: 250m memory: 512Mi imagePullSecrets: - name: {{secret_name}} schedulerName: default-scheduler
- YAML deployment only supports one YAML file.
- The code repositories and their branches of YAML files are those configured in release management.
- The YAML path is a relative path. The current directory is the root directory of the code branch.
- You can use ${variable name} in a YAML path to reference an environment variable, and {{variable name}} in a YAML file to reference an environment variable.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot