You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The revision mode controls whether only a single revision or multiple revisions of your container app can be simultaneously active. You can set your app's revision mode from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in the ARM template.
26
-
27
-
### Single revision mode
28
-
29
-
By default, a container app is in *single revision mode*. In this mode, only one revision is active at a time. When a new revision is created in *single revision mode*, the latest revision replaces the active revision.
30
-
31
-
### Multiple revision mode
32
-
33
-
Set the revision mode to *multiple revision mode*, to run multiple revisions of your app simultaneously. While in *multiple revision mode*, new revisions are activated alongside current active revisions.
34
-
35
-
In *multiple revision mode*, traffic isn't automatically allocated to new revisions for apps with external HTTP ingress. Configure traffic splitting from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in an ARM template.
36
26
37
27
## Use cases
38
28
39
-
Container Apps revisions help you manage the versioning of your container app by creating a new revision each time you make a *revision-scope* change to your app. You can control access to versions of your container app by activating and deactivating revisions and by configuring the external HTTP traffic routed to each active revision.
29
+
Container Apps revisions help you manage the release of updates to your container app by creating a new revision each time you make a *revision-scope* change to your app. You can control which revisions are active, and when external HTTP ingress is enabled, the traffic that is routed to each active revision.
40
30
41
31
You can use revisions to:
42
32
@@ -56,25 +46,39 @@ The scenario shown above presumes the container app is in the following state:
56
46
- After the container was updated, a new revision was activated as _Revision 2_.
57
47
-[Traffic splitting](revisions-manage.md#traffic-splitting) rules are configured so that _Revision 1_ receives 80% of the requests, and _Revision 2_ receives the remaining 20%.
58
48
49
+
## Revision suffix
50
+
51
+
You can customize the revision name by setting the revision suffix.
52
+
53
+
The format of a revision name is:
54
+
55
+
[container app name]--[revision suffix]
56
+
57
+
By default, Container Apps creates a unique revision name with a suffix consisting of a semi-random string of alphanumeric characters. You can customize the name by setting a unique custom revision suffix.
58
+
59
+
For example, for a container app named *album-api*, setting the revision suffix name to *1st-revision* would create a revision with the name *album-api--1st-revision*.
60
+
61
+
You can set the revision suffix in the [ARM template](azure-resource-manager-api-spec.md#propertiestemplate), through Azure CLI commands, or when creating a revision via the Azure portal.
62
+
59
63
## Change types
60
64
61
65
Changes to a container app fall under two categories: *revision-scope* or *application-scope* changes. *Revision-scope* changes trigger a new revision when you deploy your app, while *application-scope* changes don't.
62
66
63
67
### Revision-scope changes
64
68
65
-
A new revision is created when a container app is updated with *revision-scope* changes. *Revision-scope* changes modify the container app itself rather than only its runtime settings.
69
+
A new revision is created when a container app is updated with *revision-scope* changes. The changes are limited to the revision in which they're deployed, and don't affect other revisions.
66
70
67
71
A *revision-scope* change is any change to the parameters in the [`properties.template`](azure-resource-manager-api-spec.md#propertiestemplate) section of the container app resource template.
68
72
69
73
These changes include modifications to:
70
74
71
-
- Revision name
75
+
-[Revision suffix](#revision-suffix)
72
76
- Container configuration and images
73
77
- Scale rules for the container application
74
78
75
79
### Application-scope changes
76
80
77
-
*Application-scope* changes modify the settings in which the container app is run, not the container app itself. When you deploy a container app with *application-scope* changes:
81
+
*Application-scope* changes are global to all container app revision. When you deploy a container app with *application-scope* changes:
78
82
79
83
- a new revision isn't created
80
84
- the changes are applied to every revision
@@ -93,6 +97,21 @@ These parameters include:
93
97
- Credentials for private container registries
94
98
- Dapr settings
95
99
100
+
101
+
## Revision modes
102
+
103
+
The revision mode controls whether only a single revision or multiple revisions of your container app can be simultaneously active. You can set your app's revision mode from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in the ARM template.
104
+
105
+
### Single revision mode
106
+
107
+
By default, a container app is in *single revision mode*. In this mode, only one revision is active at a time. When a new revision is created in this mode, the latest revision replaces the active revision.
108
+
109
+
### Multiple revision mode
110
+
111
+
Set the revision mode to *multiple revision mode*, to run multiple revisions of your app simultaneously. While in this mode, new revisions are activated alongside current active revisions.
112
+
113
+
For an app implementing external HTTP ingress, you can control the percentage of traffic going to each active revision from your container app's **Revision management** page in the Azure portal, using Azure CLI commands, or in an ARM template. For more information, see [Traffic splitting](revisions-manage.md#traffic-splitting).
114
+
96
115
## Revision Labels
97
116
98
117
For container apps with external HTTP traffic, labels are a portable means to direct traffic to specific revisions. A label provides a unique URL that you can use to route traffic to the revision that the label is assigned. To switch traffic between revisions, you can move the label from one revision to another.
@@ -108,6 +127,14 @@ Labels are useful for testing new revisions. For example, when you want to give
108
127
109
128
Labels work independently of traffic splitting. Traffic splitting distributes traffic going to the container app's application URL to revisions based on the percentage of traffic. While traffic directed to a label's URL is routed to one specific revision.
110
129
130
+
A label name must:
131
+
132
+
- consist of lower case alphanumeric characters or dashes ('-')
133
+
- start with an alphabetic character
134
+
- end with an alphanumeric character
135
+
- not have two consecutive dashes (--)
136
+
- not be more than 64 characters
137
+
111
138
You can manage labels from your container app's **Revision management** page in the Azure portal.
112
139
113
140
:::image type="content" source="media/revisions/screen-shot-revision-mgmt-labels.png" alt-text="Screenshot of Container Apps revision management.":::
0 commit comments