Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Linx 98 posts 258 karma points
    Jan 27, 2023 @ 21:17
    Linx
    0

    How do you all setup local and test environments?

    A team of developers need to work on a single Umbraco project.

    What is the best way to set this up? I'm wondering if there's a way to have one location for the media directory?

    Should it be a single database or individual databases on each person's machine?

    How can these changes then be pushed to a test environment or even the live environment?

    Looking for some ideas and tutorials for this please?

  • Johannes Lantz 156 posts 839 karma points c-trib
    Jan 27, 2023 @ 21:59
    Johannes Lantz
    1

    Hi Linx!

    We usually have a single database on a remote server combined with the media directory. But each developer also has the project on their local machine. That way we can FTP media files from the server to our local machines and then FTP the relevant files to the server. Then we use GitHub to keep the code in sync. That way multiple developer can work on a site.

    We also recently started using uSync Complete in order to sync test & live which I highly recommend!

    Hope this helps you getting on the right track!

    //Johannes

  • Linx 98 posts 258 karma points
    Jan 30, 2023 @ 08:11
    Linx
    0

    Hi Johannes

    So if you guys had one database, how did you create a document type or template without another developer overriding your changes or that particular document type of template was available to the rest when needed?

    Thanks

  • Kevin Jump 2342 posts 14889 karma points MVP 8x c-trib
    Jan 30, 2023 @ 10:49
    Kevin Jump
    3

    Hi,

    I would say this (because i wrote it) - but i would be much more inclined to use uSync and not have a shared database

    if you use "standard" uSync you can keep settings / config (and content if you want) in sync on disk and with your source control.

    Each developer will get their own copy of the site, and can work on that independent of others, you can then manage changes and conflicts in doctypes in the same way as you would for code files.

    When you run multiple umbraco instances against one database - umbraco actually thinks its running in load balanced mode, and elects one of the instances as a master. so, it's not ideal when developing.

    For shared media you could put the media on azure blob storage (or similar) so they can all see it, but when it comes to going onto a live server it probably is safter for that to have its own (unshared) blob storage - because this too can be an issue (if for example someone deletes something locally, it can clear out that media from the blob where it might be getting used on say the live site).

    and of couse uSync.Complete ($) does solve some of these more advanced issues in that it lets you push and pull content between sites from within Umbraco - this is really useful when you have stage/live setups - but for basic shared developer working you should be to do what you need with 'normal' (free) uSync

  • Linx 98 posts 258 karma points
    Jan 30, 2023 @ 12:24
    Linx
    0

    Hi

    I have USync installed but heres a condition I need to see if it would address or not

    One database hosted on a shared server (so XX Devs, content editors all use one DB). Please remember one database 😃

    Dev 1 – Creates a new Doc Type

    Dev 2 – Creates a new Doc Type 2

    Dev 3 – Amends Doc Type 3

    Dev 4 – Creates a new template.

    Content Editor adds new pages to existing doc types/templates along with amending some content.

    Everyone checks in their changes to the primary repository.

    What would be the recommended process from here so everyone has the latest version of the site? Would everyone run the import procedure on USync after getting the latest version? Would they need to republish/clear cache and changes to get any content (I found in the past the content was missing until the cache was deleted so it may not be an issue now but just to throw in the question too)?

    If we now wanted to go to live just with Doc Types and templates would this mean we must have USync installed on the Live server? Or could we introduce a third party pipeline to bring those changes to the live site only?

    Cheers

  • Kevin Jump 2342 posts 14889 karma points MVP 8x c-trib
    Jan 30, 2023 @ 13:54
    Kevin Jump
    0

    Well assuming that there are no GIT conflics when the code is checked in (so everything is checked in and on the same branch of your source control)

    running a import after getting to the latest version would bring everyone upto the same level.

    There are no inherent cache issues doing this with usync on umbraco but when you have a shared database the caching can be one of the issues because when one instance updates all other active instances get a message to update based on the cache, and if they are offline/not reachable etc you might get an issue.

    The thing here is you want everyone to be running the site as it is defined in the source control, so when you deploy to live you know its going to be right.

    with uSync you would deploy the changes by getting the up-to-date files onto your live site and running an import. (Which if everything else was in sync would show only one change the updated doctype).

    uSync.Complete does let you push doctypes from one site to another by right clicking on them and selecting push, this would then include the doctype and any dependent datatypes/templates that might be needed to make it live.

    but source code file deployment is a much nicer way to make repeatable and predictable deployments of your site.

  • Linx 98 posts 258 karma points
    Jan 31, 2023 @ 11:11
    Linx
    0

    Hi

    So i attempted this and here are my findings/results:

    On a shared server i have one database. This server also has an Umbraco site hosted as an internal test version.

    Dev 1 connects to an Umbraco project which is connected to the shared DB (above)

    He adds a Doc Type and template to his local version. Nothing is checked in at this stage.

    We visit the internal test version of the site (which is hosted on a shared server) and can see the Doc type and template that we created locally, without importing from USync at this stage.

    Is this setup correct so far?

    BTW, im not using the latest version of USync only the latest version for Umbraco 10 which i believe is 10.3.2 but if version 11 is not targeted for Umbraco 11 then i could upgrade too.

  • Linx 98 posts 258 karma points
    Feb 01, 2023 @ 12:33
    Linx
    0

    Appreciate if anyone could point me in the right direction if the setup i have so far is correct or needs amending?

    Thanks

Please Sign in or register to post replies

Write your reply to:

Draft