Skip to content

Commit 02e3405

Browse files
authored
Merge pull request #7015 from umbraco/flex/environmentReferences
2 parents 5e874b1 + b167b84 commit 02e3405

File tree

16 files changed

+101
-81
lines changed

16 files changed

+101
-81
lines changed

umbraco-cloud/deployment/README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,13 @@ description: >-
66

77
# Deployment
88

9-
Umbraco Cloud uses a deployment model based on Git, Kudu, and Umbraco Deploy to move changes between environments. This follows a left-to-right model. Changes start in the local or left-most environment and are deployed to the production environment.
9+
Umbraco Cloud uses a deployment model based on Git, Kudu, and Umbraco Deploy to move changes between environments. This follows a left-to-right deployment approach. Changes start in the local or left-most environment and are deployed to the production/Live environment. This workflow is called the mainline.
1010

11-
![Left to right model](images/left-to-right.png)
11+
The mainline environments are used when building and deploying the initial website. Upgrades, both manual and automatic also go through the mainline environments.
12+
13+
Flexible environments can be used to work on features separate from the mainline. This is done without interfering with upgrades or other changes being worked on in the mainline.
14+
15+
![Left to right model](images/left-to-right-approach.png)
1216

1317
## Deployment Approach
1418

@@ -19,9 +23,6 @@ Umbraco Cloud separates schema and content during deployment. Schema includes Do
1923

2024
### Types of Deployments
2125

22-
* **Schema Deployment:** Schema is stored in a Git repository. These are **deployed** between environments using a Git client or the Umbraco Cloud Portal.
23-
* **Content and Media Transfer:** Content and Media items are not stored in the Git repository. They must be **transferred** directly from the Umbraco backoffice using the **Queue for Transfer** option. Once queued, use the **Deployment** Dashboard in the **Content** section to complete the transfer.
24-
2526
| Schema Deployments | Content and Media Transfers |
2627
| ----------- | ------------- |
2728
| Schema is stored in a Git repository. These are **deployed** between environments using a Git client or the Umbraco Cloud Portal. | Content and Media items are not stored in the Git repository. They must be **transferred** directly from the Umbraco backoffice using the **Queue for Transfer** option. Once queued, use the **Deployment** Dashboard in the **Content** section to complete the transfer. |
37.5 KB
Loading
-6.9 KB
Binary file not shown.

umbraco-cloud/getting-started/baselines/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Baselines
22

3-
A Baseline Child project is very similar to a Fork (forked repository) on GitHub where we create a clone of an existing project while maintaining a connection between the two projects. The connection exists between the _Live_ environment of the existing project, the **Baseline project**, and the _Development_ or Live environment - of the newly created project, the **Child project**.
3+
A Baseline Child project is similar to a Fork (forked repository) on GitHub. A clone is created of an existing project while maintaining a connection between the two projects. The connection exists between the Live environment of the **Baseline project**, and the left-most mainline environment of the **Child project**.
44

55
Any project can act as a Baseline project.
66

7-
The basic idea is that you have a project that contains all your standard Umbraco packages/components, maybe even configured with some default Document Types, which you want to use as a baseline for future projects. When you've made changes to your Baseline project, you can then push these changes out to all the Child projects with a click of a button.
7+
The basic idea is that you have a project that contains all your standard Umbraco packages/components. Some default Document Types which you want to use as a baseline for future projects is also configured. When you've made changes to your Baseline project, you push these changes out to all the Child projects with a click of a button.
88

99
![Baseline workflow](images/baseline-workflow.gif)
1010

@@ -14,7 +14,7 @@ The basic idea is that you have a project that contains all your standard Umbrac
1414
Learn how to work with Baselines.
1515
{% endembed %}
1616

17-
## Creating a Child Project
17+
## Create a Child Project
1818

1919
To create a child project:
2020

umbraco-cloud/getting-started/baselines/configuration-files.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ When you need a specific configuration on Child projects, you should always use
2828

2929
Here is a few examples of what could be transformed in the child sites.
3030

31-
## Adding or updating appsettings (i.e. child-appsettings.web.live.xdt.config)
31+
## Adding or updating appsettings
32+
33+
{% code title="child-appsettings.web.live.xdt.config" %}
3234

3335
```xml
3436
<?xml version="1.0" encoding="utf-8"?>
@@ -45,7 +47,11 @@ Here is a few examples of what could be transformed in the child sites.
4547
</configuration>
4648
```
4749

48-
## Setting the SMTP settings for the child project (i.e. child-smtpsettings.web.live.xdt.config)
50+
{% endcode %}
51+
52+
## Setting the Simple Mail Transfer Protocol (SMTP) settings for the child project
53+
54+
{% code title="child-smtpsettings.web.live.xdt.config" %}
4955

5056
```xml
5157
<?xml version="1.0" encoding="utf-8"?>
@@ -61,7 +67,11 @@ Here is a few examples of what could be transformed in the child sites.
6167
</configuration>
6268
```
6369

64-
## Setting custom rewrite rules for the child project (i.e. child-iisrewrite.web.live.xdt.config)
70+
{% endcode %}
71+
72+
## Setting custom rewrite rules for the child project
73+
74+
{% code title="child-iisrewrite.web.live.xdt.config" %}
6575

6676
```xml
6777
<?xml version="1.0" encoding="utf-8"?>
@@ -86,12 +96,14 @@ Here is a few examples of what could be transformed in the child sites.
8696
</configuration>
8797
```
8898

89-
The above could either be added to its config files or be split up into one config file per setting. Umbraco Cloud will run through all the config files for the project. i.e. in one file
99+
{% endcode %}
100+
101+
The above could either be added to its config files or be split up into one config file per setting. Umbraco Cloud will run through all the config files for the project.
90102

91-
* child.web.live.xdt.config
103+
* `child.web.live.xdt.config`
92104

93105
or having multiple files
94106

95-
* child-appsettings.web.live.xdt.config
96-
* child-iisrewrite.web.live.xdt.config
97-
* child-smtpsettings.web.live.xdt.config
107+
* `child-appsettings.web.live.xdt.config`
108+
* `child-iisrewrite.web.live.xdt.config`
109+
* `child-smtpsettings.web.live.xdt.config`

umbraco-cloud/getting-started/explore-umbraco-cloud.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ description: Begin your journey with Umbraco Cloud by exploring the essentials.
77
This section will help you get up and running with the core features of Umbraco Cloud. Whether you are new to Umbraco or migrating from another platform, these articles will walk you through everything you need to know to get started.
88

99

10-
1110
<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="the-umbraco-cloud-portal/">The Cloud Portal</a></td><td>Learn how to log in, navigate the interface, and start managing your Umbraco projects.</td><td><a href="the-umbraco-cloud-portal/">the-umbraco-cloud-portal</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_CMS_Fundamentals_Backoffice.png">Documentations Icons_Umbraco_CMS_Fundamentals_Backoffice.png</a></td></tr><tr><td><a href="project-overview.md">Project Overview</a></td><td>Understand how the Umbraco Cloud environment is structured and what each section of your project means.</td><td><a href="project-overview.md">project-overview.md</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_CMS_Tutorials_Custom_Dashboard.png">Documentations Icons_Umbraco_CMS_Tutorials_Custom_Dashboard.png</a></td></tr><tr><td><a href="environments.md">Environments</a></td><td>Environments are the foundation of your Umbraco Cloud project. Learn how to set up and manage your environments.</td><td><a href="environments.md">environments.md</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_Sustainability_Best_Practices_Infrastructure.png">Documentations Icons_Umbraco_Sustainability_Best_Practices_Infrastructure.png</a></td></tr><tr><td><a href="baselines/">Baselines</a></td><td>Learn how to create and manage baselines in Umbraco Cloud.</td><td><a href="baselines/">baselines</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_CMS_Implementation_Composing (1).png">Documentations Icons_Umbraco_CMS_Implementation_Composing (1).png</a></td></tr><tr><td><a href="migrate-to-umbraco-cloud.md">Migrate to Umbraco Cloud</a></td><td>If you're moving from another platform or version of Umbraco, you'll want to understand the steps involved in migrating to Umbraco Cloud. This section covers everything from preparation to execution.</td><td><a href="migrate-to-umbraco-cloud.md">migrate-to-umbraco-cloud.md</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_CMS_Reference_Querying_and_Models.png">Documentations Icons_Umbraco_CMS_Reference_Querying_and_Models.png</a></td></tr><tr><td><a href="git-repository-in-a-cloud-project.md">Repositories in a Cloud Project</a></td><td>Learn how to work with Git repositories, including setting them up, syncing, and managing changes.</td><td><a href="git-repository-in-a-cloud-project.md">git-repository-in-a-cloud-project.md</a></td><td><a href="../.gitbook/assets/Documentations Icons_Umbraco_CMS_Reference_Caching.png">Documentations Icons_Umbraco_CMS_Reference_Caching.png</a></td></tr></tbody></table>
1211

1312
## Also in this section

umbraco-cloud/getting-started/git-repository-in-a-cloud-project.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Repositories in a Cloud Project
22

3-
Each Umbraco Cloud project can have multiple environments: Development, Staging, and Live depending on your Cloud project plan. Each environment has its own git repository that is hosted on Umbraco’s Cloud platform.
3+
Each Umbraco Cloud project can have multiple environments: Mainline and Flexible Environments. Each environment has its own git repository that is hosted on Umbraco’s Cloud platform.
44

55
{% hint style="info" %}
6-
Umbraco Cloud repositories are _only_ deployment repositories and should not be used as source code repositories.
6+
Umbraco Cloud repositories are only deployment repositories and should not be used as source code repositories.
77
{% endhint %}
88

99
Ideally, your Umbraco Cloud setup should look like this:
@@ -31,42 +31,40 @@ You need to put your custom code in a different source control repository of you
3131
{% endtab %}
3232
{% endtabs %}
3333

34-
## A Git Umbraco Cloud source control repository with the locally cloned Umbraco project
34+
## A source control repository with the locally cloned Umbraco project
3535

36-
We recommend creating a Cloud project with at least two environments: a Development environment and a Live environment. To work with a local copy of your site, you then clone down the Development environment using the **Clone project** option from the Cloud Portal and start building your website locally. This repository is different from your source control repository.
36+
It is recommended to create a Cloud project with at least two environments: a Live environment including one extra mainline environment. Work with a local copy of the site by cloning down the left-most environment. This repository is different from your source control repository.
3737

38-
Once you're happy with the results or wish to see how your website has progressed, you push the changes back to the Development environment. If everything is working as expected you then deploy your changes to the Live environment.
38+
Once you're happy with the results or wish to see how your website has progressed, you push the changes back to the Cloud. If everything is working as expected, deploy your changes to the Live environment.
3939

4040
{% tabs %}
4141
{% tab title="Umbraco 10+" %}
42-
#### Code Deployment Summary
42+
### Code Deployment Summary
4343

4444
![Umbraco Cloud Overview](images/UCP.png)
4545

4646
In the above diagram, the Umbraco Git repository contains the source code of a class library CS project.
4747

4848
With this setup, once you commit your code in the Umbraco Cloud Git repository, your C# source code is built by Umbraco Cloud and then deployed to the `wwwroot` folder.
4949

50-
#### Disadvantages of using an Umbraco Cloud Project repository as a source code repository
50+
### Disadvantages of using an Umbraco Cloud Project repository as a source code repository
5151

5252
* We only guarantee to maintain and keep the `master` branch. If there are any other branches, they might be removed without any notification causing data loss.
5353
* You will need to commit your frontend artifacts as the build pipeline only builds dlls from your C# code.
5454
{% endtab %}
5555

5656
{% tab title="Legacy Umbraco 7 and 8" %}
57-
#### Code Deployment Summary
57+
### Code Deployment Summary
5858

5959
<figure><img src="../.gitbook/assets/UCP_v8.png" alt=""><figcaption><p>Umbraco cloud overview Legacy versions</p></figcaption></figure>
6060

6161
In the above diagram, the external git repository contains the source code of a class library CS project, if you had a class library project that was used in your Cloud project.
6262

6363
With this setup, you commit your changes twice. Once to commit your code in your source control and the other commit to the Umbraco Cloud Git repository to deploy your website. Your source code is not hosted on Umbraco Cloud but only your cloned project will be in the Umbraco Cloud Git Repository. Your code is built and compiled into the cloned project and then pushed to Umbraco Cloud. Thus updating the site with your latest code changes.
6464

65-
#### Disadvantages of using an Umbraco Cloud Project repository as a source code repository
65+
### Disadvantages of using an Umbraco Cloud Project repository as a source code repository
6666

6767
* We only guarantee to maintain and keep the `master` branch. If there are any other branches, they might be removed without any notification causing data loss.
6868
* You will always need to commit your dll files.
6969
{% endtab %}
7070
{% endtabs %}
71-
72-
##

umbraco-cloud/getting-started/migrate-to-umbraco-cloud.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ You can create a new Umbraco Cloud project in one of the two ways:
117117

118118
1. Click **Create project** in the Umbraco Cloud Portal.
119119
2. Choose **Umbraco Cloud** as the Type.
120-
3. Choose a **plan** that enables you to add a Development environment.
120+
3. Choose a **plan** that enables you to add an extra mainline environment.
121121
4. Select the **version** that matches the project you want to migrate.
122122
5. Give the project a **name**.
123123
6. Choose from which **Region** the site should be hosted.
@@ -128,10 +128,16 @@ You can create a new Umbraco Cloud project in one of the two ways:
128128
11. Check the "Terms and conditions" box.
129129
12. Click **Create Project**.
130130

131-
Once the project is set up, **add a Development** environment. This will enable you to start over with the migration, should something go amiss.
131+
Once the project is set up:
132+
133+
1. Select **Configure environments**.
134+
2. Add a new **mainline environment**.
135+
* Throughout this guide, this mainline environment will be referred to as the **Development environment**.
136+
137+
Having more than one environment on your project, will enable you to start over with the migration process should it be needed.
132138

133139
{% hint style="info" %}
134-
Many processes happen in the background when a new Cloud environment is set up. It might take several minutes before the environments are ready to use.
140+
Many processes happen in the background when a new Cloud environment is set up. It might take some time before the environments are ready to use.
135141
{% endhint %}
136142

137143
With the Cloud project set up and ready, the migration can start in the next step.
@@ -152,7 +158,7 @@ The Umbraco Cloud project is now ready for the next step where the two projects
152158

153159
To continue the migration the next step is to clone down the Umbraco Cloud environment to merge it with the Umbraco CMS project.
154160

155-
Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the **Development** **environment** of the Umbraco Cloud project.
161+
Follow the steps outlined in the [Working with a Local Clone](../set-up/working-locally.md#cloning-an-umbraco-cloud-project) article to clone down the Development environment on the project.
156162

157163
{% hint style="info" %}
158164
Do not run the project after cloning it down.
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
# Best Practice for Working in Teams on Umbraco Cloud
22

3-
In this article, we will look at some of the best practices and recommendations when you are working in teams on your Umbraco Cloud projects.
3+
This article will look at some of the best practices and recommendations when you are working in teams on your Umbraco Cloud projects.
44

55
## Working with Git in Teams
66

7-
### Pull before you Push
8-
97
Always start by making a pull request from your project before you push anything back up to Cloud. This way you ensure that you do not accidentally overwrite the work that someone else in your team has worked with.
108

119
### Create branches locally
@@ -14,16 +12,18 @@ Umbraco Cloud is built on top of Git which means that you can create branches lo
1412

1513
## Working with Environments in a team
1614

17-
### Set up a Development environment
15+
It is recommended to use multiple environments when you are working in teams. With additional environments, members of a team can work locally, pushing up changes to the Cloud environment for testing.
16+
17+
Having multiple environments enables developers to continue developing, while content editors can focus on creating content in a separate environment.
1818

19-
We highly recommend that you use a Development environment when you are working in teams. With the Development environment, members of a team can work on their local version of the project. They can then push back up to the development environment to be tested and approved before being deployed to either the staging or the live environment.
19+
### Flexible Environments
2020

21-
### Set up a Staging environment
21+
When you need to work on a new feature, using a flexible environment ensures that the regular workflow isn't affected. The flexible environment is connected to a single mainline environment and isn't part of the left-to-right deployment workflow.
2222

23-
When working in a bigger team with both developers and content editors, we highly recommend that you set up a Staging environment. This way the developers can continue developing in the Development environment, while the content editors can focus on creating delightful content in the Staging environment.
23+
Learn more about how this works in the [Flexible Environments](flexible-environments.md) article.
2424

2525
## Team development workflow On Cloud
2626

27-
For a more in-depth example of how to work in teams on Umbraco Cloud projects, Our Gold Partner ProWorks have created an article about how they have set up a [Team development workflow on Umbraco Cloud](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/).
27+
For a more in-depth example of how to work in teams, our Gold Partner ProWorks has written an article on [Team development workflows](https://skrift.io/issues/integrating-umbraco-cloud-with-team-development-workflow/).
2828

29-
This article can serve as inspiration if you are an agency and are looking into setting up a bigger project where several people will be working on Umbraco Cloud.
29+
This article serves as inspiration if you looking into setting up a bigger project where multiple people will be working on Umbraco Cloud.

0 commit comments

Comments
 (0)