Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
f6da500
Add more info about what a flexible environment is
sofietoft Apr 3, 2025
bbc07fd
Update flex article and removed deployment landing page
sofietoft Apr 3, 2025
8e77102
Update Environments article
sofietoft Apr 3, 2025
371b517
Small fixes
sofietoft Apr 3, 2025
e88a29b
Add description
sofietoft Apr 3, 2025
d197cc8
Merge branch 'flex/updateFlexArticle' of https://github.com/umbraco/U…
sofietoft Apr 3, 2025
d9d85fc
Add screenshot of environment setup
sofietoft Apr 3, 2025
441c9d8
Add image reference
sofietoft Apr 3, 2025
e28534d
Apply suggestions from code review
sofietoft Apr 4, 2025
9be3c36
Spell out the number words
sofietoft Apr 4, 2025
836b3ef
Apply suggestions from code review
sofietoft Apr 4, 2025
edb02de
Write out the numbers
sofietoft Apr 4, 2025
cce1cba
Merge pull request #6999 from umbraco/flex/updateFlexArticle
sofietoft Apr 4, 2025
5b9fe7b
Merge pull request #7000 from umbraco/flex/environments
sofietoft Apr 4, 2025
3ad8265
Merge branch 'cloud/flexibleEnvironment' of https://github.com/umbrac…
eshanrnh Apr 4, 2025
4c5468d
Update environment references where needed
sofietoft Apr 4, 2025
3fe445f
Update Cloud landing page
sofietoft Apr 4, 2025
e9399d0
Update multiple articles incl deploying deletions
sofietoft Apr 4, 2025
7dd1ec8
Deployment webhook
sofietoft Apr 4, 2025
e7510bd
Local to cloud
sofietoft Apr 4, 2025
22caf11
Forms on cloud
sofietoft Apr 4, 2025
e30bc65
Fix acronym
sofietoft Apr 4, 2025
c713fa3
Update environment refs
sofietoft Apr 4, 2025
82e4de6
Update text content of the article
sofietoft Apr 7, 2025
45e62fc
Add updated illustration
sofietoft Apr 7, 2025
7457b91
Merge pull request #7008 from umbraco/flex/FAQ
eshanrnh Apr 7, 2025
6c2d1e8
Apply suggestions from code review
sofietoft Apr 7, 2025
13fc187
Merge pull request #7011 from umbraco/flex/projectOverview
sofietoft Apr 7, 2025
9052559
Merge pull request #7010 from umbraco/flex/deployment
sofietoft Apr 7, 2025
292898d
Apply suggestions from code review
sofietoft Apr 7, 2025
1cc3429
Added configure environment section
eshanrnh Apr 7, 2025
a8fa303
Merge pull request #7009 from umbraco/flex/updateEnvRefs
sofietoft Apr 7, 2025
ec519fa
Started merge conflict article ++
sofietoft Apr 7, 2025
41ca1ee
Updates to Restore README article
sofietoft Apr 7, 2025
588deca
Update umbraco-cloud/set-up/manage-environments.md
eshanrnh Apr 7, 2025
2ff9c8d
Update umbraco-cloud/set-up/manage-environments.md
eshanrnh Apr 7, 2025
0fa73b8
Incorporated review comments and updated configuring environment section
eshanrnh Apr 7, 2025
0e9d36f
Rearranged the info to flow properly
eshanrnh Apr 7, 2025
7772a37
Finish steps for resolving merge conflicts
sofietoft Apr 7, 2025
b11dff3
Fix long sentence
sofietoft Apr 7, 2025
558409a
Add note about schema issues
sofietoft Apr 7, 2025
90d0d93
Links and more
sofietoft Apr 7, 2025
3e79269
Add more info to deployment article including updating the illustration
sofietoft Apr 7, 2025
8fe3309
Update references
sofietoft Apr 8, 2025
f96ec6a
Start updating migration guide
sofietoft Apr 8, 2025
d74e320
Update migation guide
sofietoft Apr 8, 2025
de05c05
Team workflow in cloud
sofietoft Apr 8, 2025
cf15060
Update umbraco-cloud/set-up/manage-environments.md
eshanrnh Apr 8, 2025
b840f48
Fix some formatting in config files article
sofietoft Apr 8, 2025
3632d31
Incorporated review comments and fixed broken image link
eshanrnh Apr 8, 2025
6dd4ee8
Update more articles
sofietoft Apr 8, 2025
9e684a3
More refs
sofietoft Apr 8, 2025
891663d
Merge pull request #7012 from umbraco/manage-environments
eshanrnh Apr 8, 2025
28a3c05
Update refs
sofietoft Apr 8, 2025
864c983
Fix vale errors
sofietoft Apr 8, 2025
fb1fd84
GITBOOK-2: Replace environment references from Set Up section
gitbook-bot Apr 8, 2025
5e874b1
GITBOOK-3: Replaced environment references in troubleshooting articles
eshanrnh Apr 8, 2025
f9da3db
Apply suggestions from code review
sofietoft Apr 8, 2025
b167b84
Fixed duplicate content in Deployment
sofietoft Apr 8, 2025
7c4e062
Update README.md
sofietoft Apr 9, 2025
09778c1
Update README.md
sofietoft Apr 9, 2025
813d34a
Update partial-restore.md
sofietoft Apr 9, 2025
407fbda
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
289a552
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
c0df49f
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
438c154
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
91f95e1
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
e0f652c
Update merge-conflicts-on-flexible-environments.md
sofietoft Apr 9, 2025
02e3405
Merge pull request #7015 from umbraco/flex/environmentReferences
sofietoft Apr 9, 2025
cfc9572
Added a new section - Syncing Changes Between Mainline and Flexible E…
eshanrnh Apr 9, 2025
1e7a19a
GITBOOK-4: Added information about Configuration files
Apr 9, 2025
6d13a8c
Added source and target to the environment names under preparations
sofietoft Apr 9, 2025
dd1d944
Update umbraco-cloud/deployment/cloud-to-cloud.md
eshanrnh Apr 10, 2025
2cbaf1b
Incorporated review comment
eshanrnh Apr 10, 2025
fd3989b
Apply suggestions from code review
sofietoft Apr 10, 2025
a5027d9
Merge pull request #7013 from umbraco/flex/mergeConflicts
sofietoft Apr 10, 2025
1904a89
GITBOOK-6: Mention Flex environments in Hotfix docs
Apr 10, 2025
5502cf2
GITBOOK-7: No subject
Apr 10, 2025
45148b7
Merge pull request #7020 from umbraco/flexible-deployment
eshanrnh Apr 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion umbraco-cloud/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ The easiest way to start with an Umbraco Cloud project is to take a [14-day free

Since everything is already set up for you, it is recommended that you get to know your project before you start building.

To start working with and building your site, you can either work directly in the backoffice on the Cloud environment or [clone down the project to your local machine](set-up/working-locally.md).
You can either work directly in the backoffice on the Cloud environment or [clone down the project to your local machine](set-up/working-locally.md).

### Umbraco Cloud Portal Project

Expand Down
2 changes: 1 addition & 1 deletion umbraco-cloud/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@

## Deployments

* [Streamline Your Deployments](deployment/streamline-your-deployments.md)
* [Deployment](deployment/README.md)
* [Deploying between environments](deployment/cloud-to-cloud.md)
* [Transferring Content, Media, Members, and Forms](deployment/content-transfer.md)
Expand Down Expand Up @@ -132,6 +131,7 @@
* [Extraction error: Config transforms failing](troubleshooting/deployments/changes-not-being-applied.md)
* [Extraction error: Data Type collisions](troubleshooting/deployments/colliding-datatypes.md)
* [Dependency Exception](troubleshooting/deployments/dependency-exceptions.md)
* [Merge Conflicts on Flexible Environments](troubleshooting/deployments/merge-conflicts-on-flexible-environments.md)
* [Troubleshooting deployments failing with no error message](troubleshooting/deployments/deployment-failed.md)
* [Troubleshooting duplicate dictionary items](troubleshooting/deployments/duplicate-dictionary-items.md)
* [Troubleshooting language mismatches](troubleshooting/deployments/language-mismatch.md)
Expand Down
2 changes: 1 addition & 1 deletion umbraco-cloud/databases/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Working with databases

{% hint style="info" %}
The databases on your Umbraco Cloud environments are specific to their environment. This means that no matter what you have configured in the `connectionstring` in your `web.config` or `appSettings.json` file, we overwrite the connectionstring to use the SQL Azure Server we provide.
The databases on your Umbraco Cloud environments are specific to their environment. This means that the connectionstring to use the SQL Azure Server is overwritten no matter what else is configured.
{% endhint %}

When working with Umbraco Cloud, the way you work with databases might differ from what you're used to. One important aspect of Umbraco Cloud is that you always work isolated to avoid interfering with colleagues or a running website. This includes the database as well.
Expand Down
11 changes: 4 additions & 7 deletions umbraco-cloud/databases/backups.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,6 @@ Once you have uploaded a backup, you might want to restore it to one of your env

<figure><img src="../.gitbook/assets/image (72).png" alt="Choose which environment to restore the backup on"><figcaption><p>Choose which environment to restore the backup on</p></figcaption></figure>




3. **Optional:** Create a Cloud Backup of the selected environment's database before restoring the backup.
4. Click **"Restore backup"**

Expand All @@ -93,10 +90,10 @@ Make sure to check your environment and see if everything works as expected and

Use the following steps:

* Connect to your SQL Server using SQL Server Management Studio (SSMS).
* Expand "Databases", right-click "Databases", then select "Import Data-tier Application...".
* Proceed through the dialog, by browsing to the saved location of your `bacpac` file, and then setting the options appropriate to your configuration
* Complete the import dialog and the database will be restored.
1. Connect to your SQL Server using SQL Server Management Studio (SSMS).
2. Expand "Databases", right-click "Databases", then select "Import Data-tier Application...".
3. Proceed through the dialog, by browsing to the saved location of your `bacpac` file, and then setting the options appropriate to your configuration
4. Complete the import dialog and the database will be restored.

{% hint style="info" %}
If a `bacpac` restore fails in SQL server, ensure the 'Contained Database Authentication' flag is set to true for resolution.
Expand Down
32 changes: 17 additions & 15 deletions umbraco-cloud/deployment/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,32 @@ description: >-

# Deployment

Umbraco Cloud uses a deployment model based on Git, Kudu, and Umbraco Deploy core technology 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.
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.

![Left to right model](images/left-to-right.png)
The mainline environments are used when building and deploying the initial website. Upgrades, both manual and automatic also go through the mainline environments.

## Deployment Approach
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.

![Left to right model](images/left-to-right-approach.png)

Umbraco Cloud separates metadata and content during deployment. Metadata includes Document Types, Templates, Forms, Views, and config files. Content includes content items and media.
## Deployment Approach

**Key Terms:**
Umbraco Cloud separates schema and content during deployment. Schema includes Document Types, Templates, Forms, Views, and config files. Content includes content items and media.

* **Deploy:** Moves metadata between environments using a Git client or the Umbraco Cloud Portal.
* **Transfer:** Moves content and media directly via the Umbraco backoffice.
* **Deploy:** Moves schema between environments using a Git client or the Umbraco Cloud Portal.
* **Transfer:** Move content and media directly via the Umbraco backoffice.

**Deployment Types:**
### Types of Deployments

* **Metadata Deployment:** Metadata, including Document Types, Templates, Forms, Views, and config files, is stored in a Git repository. These are **deployed** between environments using a Git client or the Umbraco Cloud Portal.
* **Content and Media Transfer:** Content and Media items are **not** stored in the Git repository. Instead, they must be **transferred** directly from the Umbraco backoffice using the **Queue for Transfer** option. Once all required items are queued, the **Deployment** Dashboard in the **Content** section is used to complete the transfer.
| Schema Deployments | Content and Media Transfers |
| ----------- | ------------- |
| 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. |

Content editors do not need Umbraco Cloud Portal access. They can manage content through the backoffice, while developers handle metadata deployments via Git.
Content editors do not need Umbraco Cloud Portal access. They can manage content through the backoffice, while developers handle schema deployments via Git.

### Deploying Metadata
### Deploying Schema

The source and target environments must be in sync before transferring content and media. Deploy metadata first to ensure consistency.
The source and target environments must be in sync before transferring content and media. Deploy schema first to ensure consistency.

* [Deploy changes from Local to Cloud](local-to-cloud.md)
* [Deploy changes between Cloud environments](cloud-to-cloud.md)
Expand Down Expand Up @@ -56,7 +59,7 @@ Some deployments can trigger an Umbraco Cloud environment to restart. The table
| Action: | Application Restart? |
| ----------------------------------- | -------------------- |
| Config file change | Yes |
| Metadata deployment | No |
| Schema deployment | No |
| File change (for example, CSS file) | No |
| Content or Media transfer | No |

Expand All @@ -79,4 +82,3 @@ The `name` attribute in the `umbraco-cloud.json` can be updated to clarify deplo
![clone dialog](images/change-env-name-v8.png)

***

39 changes: 29 additions & 10 deletions umbraco-cloud/deployment/cloud-to-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,55 @@
updatedLinks: true
---

# Deploying between environments
# Deploying between Environments

When your are Working in your Development environment, changes made through the Backoffice are automatically detected and committed to the site's Git repository. This includes Umbraco-specific items like Document types and templates.
When you are working in your Cloud environment, changes made through the Backoffice are automatically detected and committed to the site's Git repository. This includes Umbraco-specific items like Document Types and Templates. These changes are also referred to as metadata.

Changes made on your Cloud environments will show up in the Umbraco Cloud portal. You'll be able to see what files have been added/changed and who made the changes.
## Deploying between Mainline Environments

To deploy metadata changes from one Cloud environment to another, click the **'Deploy changes to ..'** button on the environment where the changes have been made.
Changes made in your Cloud environments will appear in the Umbraco Cloud portal. You can see what files have been added or changed and who made the changes.

To deploy metadata changes from one Cloud environment to another, click the **Deploy changes** button on the environment where the changes were made.

<figure><img src="../.gitbook/assets/image (39).png" alt=""><figcaption></figcaption></figure>

The deployment initiates, and you can see the process in the **Overview of your project.**
The deployment starts, and you can follow the progress in the **Overview** section of your project.

<figure><img src="../.gitbook/assets/image (41).png" alt="Deployment in progress"><figcaption><p>Deployment in progress</p></figcaption></figure>

Once it's done, the changes will be deployed to the next Cloud environment. If you have more Cloud environments, follow the same procedure to deploy the changes up to your Live site.
Once complete, the changes are deployed to the next Cloud environment in the deployment flow. If you have additional environments, repeat this process to deploy the changes through each environment.

## Syncing Changes Between Mainline and Flexible Environment

When working with a flexible environment alongside your mainline environments, it's important to keep them aligned to avoid conflicts and ensure consistent deployments.

If any changes have been made in a mainline environment those changes must be pulled into the flexible environment before pushing updates back. The changes can be updated Document Types, content, or other schema changes.

![Pull changes from Mainline Environment](images/pull-changes-from-mainline.png)

If what you've been working on in the flexible environment has also been changed in the mainline, a merge conflict will occur. These conflicts need to be resolved before you can continue with the deployment. For information on how to resolve them, see the [Merge Conflicts on Flexible Environments](../troubleshooting/deployments/merge-conflicts-on-flexible-environments.md) article.

Once you’ve completed your feature or update in the flexible environment and it’s synced with the latest mainline changes:

* Push your changes from the flexible environment to the mainline environment.
* From there, the changes become part of the regular deployment flow.

![Push changes to the Mainline Environment](images/push-changes-to-mainline.png)

## Important Notes

When you deploy, for example, from your Development environment to your Live environment, changes are made to the Live environment. These changes will then be merged back into the Development environment.
When you deploy, for example, from your left-most mainline environment to your Live environment, changes are made to the Live environment. These changes will then be merged back into the left-most mainline environment.

Here are the automatic steps Umbraco Cloud goes through when you hit the _"Deploy changes to .."_ button:
Here are the automatic steps Umbraco Cloud goes through when you hit the _"Deploy changes"_ button:

* Before pushing your changes from the source environment, the engine running Umbraco Cloud - **Umbraco Deploy** - looks for changes in the repository on the target environment
* If changes are found, Umbraco Deploy _merges_ the changes from the target environment into the repository on the source environment.
* After the merge, the changes from the source environment are pushed to the repository on the target environment.
* Finally, the changes pushed to the target repository are extracted to the site, and you will now see your changes reflected in the Backoffice and on the Frontend.

If you have more than one Umbraco Cloud environment, we strongly recommend that you **only make changes to metadata on the Development environment**. Making changes directly on your Staging and/or Live environments can cause merge conflicts when you deploy from your Development environment.
It is recommended that you **only make changes to metadata on the left-most mainline environment or a flexible environment**. Making changes directly on other mainline environments can cause merge conflicts when you deploy.

{% hint style="danger" %}
{% hint style="warning" %}
It is important to be aware of how deletions work between environments. Some deletions are environment-specific and others are not. For more information see the [Deploying Deletions article](deploying-deletions.md).
{% endhint %}

Expand Down
Loading
Loading