Copied to clipboard

Flag this post as spam?

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


  • Dave Clarke 15 posts 127 karma points
    Feb 23, 2017 @ 11:24
    Dave Clarke
    0

    Pull request workflow

    We've recently had an Umbraco Cloud site built for us by an agency which we're now taking in house and as such I've recently setup the appropriate Bitbucket repository alongside the Umbraco Cloud git repo.

    I'm struggling to understand how a normal pull request workflow fits into the picture. I currently have the C# code in the Bitbucket repo and hence a pull request can take place there - but how would you then look to take the build output (DLL) and get that into the Umbraco repository. And on top of that, if we wanted to pull the JS/CSS/Views into the Bitbucket repository, we'd need a way of moving those into the right place at build/deploy time.

    You'd also have the problem that if a user updates a template (or anything else) via the dev/staging backoffice then those changes would be lost on next deployment, as they wouldn't make their way into the Bitbucket repository.

    The Umbraco git model seems to work well for simple uses cases but for a larger development team, it doesn't seem to fit into a common enterprise engineering workflow.

    Any thoughts? What is everyone else doing?

  • Alex Skrypnyk 6175 posts 24186 karma points MVP 8x admin c-trib
    May 10, 2017 @ 14:25
    Alex Skrypnyk
    0

    Hi Dave

    We had the same problem with 2 repos, one for code and another - Umbraco Cloud, if customer will change code in Umbraco Cloud - don't know solution for a such situation.

    Did you find out how to handle it?

    Thanks,

    Alex

  • Dave Clarke 15 posts 127 karma points
    May 11, 2017 @ 22:12
    Dave Clarke
    0

    In the end we opted for a remote mirror (Bitbucket) of the Umbraco Cloud repository. That's where our developers clone and work with the code, meaning they can run/debug locally and create pull requests into a master branch.

    From there, everytime something is merged into master, our build system Jenkins syncs/pushes the code to the Umbraco Cloud repository. Occasionally, there's a conflict, if for example Umbraco has been updated or a new user was added. To resolve that, the user must branch from bitbucket/master and merge in the remote changes. That is then PR'd back into bitbucket/master and Jenkins runs again.

    We also have a second Jenkins job which watches for any branches called deploy/*, e.g. deploy/new-homepage, and that gets automatically deployed to a box in our Azure lab. The user can then login there, restore from dev/live and send it to a colleague/manager for a visual review & feedback.

    Took a bit of setting up but decent flow in the end and gave us the PR process we needed. Drop me a line on dave.clarke[at]squaredup.com if you've got any questions!

  • Dave Woestenborghs 3504 posts 12135 karma points MVP 9x admin c-trib
    Aug 22, 2017 @ 13:11
    Dave Woestenborghs
    1

    Hi Dave,

    So you actually push the Umbraco Cloud repository to your own repo as well.

    Seems like a good option. Only thing we need to set up is the automated deployment to Umbraco Cloud.

    Dave

  • Dave Woestenborghs 3504 posts 12135 karma points MVP 9x admin c-trib
    Aug 22, 2017 @ 15:17
    Dave Woestenborghs
    0

    Dave,

    Maybe you can share how did you set up pushing the umbraco cloud stuff to your own repo ?

    Dave

  • Dave Clarke 15 posts 127 karma points
    Aug 22, 2017 @ 15:32
    Dave Clarke
    0

    Hi Dave,

    We use Jenkins internally for lots of build jobs, so I setup a job there using the Git Publisher plugin.

    Using the built-in source code management, Jenkins watches the Bitbucket repository for changes, pulls them down when it detects any and then pushes to the remote Umbraco Cloud repository (development site) using the Git Publisher.

    Does that help?

    Cheers,

    Dave

  • Dave Woestenborghs 3504 posts 12135 karma points MVP 9x admin c-trib
    Aug 22, 2017 @ 15:46
    Dave Woestenborghs
    0

    Hi Dave,

    We use VS to develop Umbraco Cloud websites like described here : https://our.umbraco.org/documentation/Umbraco-Cloud/Set-Up/Visual-Studio/

    So we have 2 git repositories. One with VS solution which we push to our github account. And the other one which is pushed to Umbraco Cloud.

    How did you add the second one to your Bitbucket account. Also as a seperate repo...or did you include it in the one for the VS solution ?

    Or do you use a different approach ?

    Dave

  • Dave Clarke 15 posts 127 karma points
    Oct 18, 2017 @ 08:01
    Dave Clarke
    0

    You can add a new "remote" to the Umbraco repository, which can be a Bitbucket repo.

    You then need a manual/automated way of syncing the changes.

    1. Developer makes changes to Bitbucket
    2. Changes get merged to bitbucket/master
    3. Bitbucket/master gets synced to Umbraco/master

    Does that make sense?

Please Sign in or register to post replies

Write your reply to:

Draft