Hi Ryan,

Thanks for your answer.

So if I understand properly, you have 2 instances, the production one as the master branch of a git repo and the staging one as another branch in this same repo.

This makes sense to me at first but then I don't really understand how it works when you have to update. What I guess you do would be the following:
1) git pull the new galaxy release to a new branch (using the .gitignore of the galaxy repo)
2) check the differences between the new release and your current production instance (on the '.sample' files in the directory config and then apply them to the 'real' files)
3) test it on your staging instance
4) when you are satisfied, you git merge the new branch to the master one (with the 'local' .gitignore file that mainly ignore the doesn't ignore the 'real' config files)

At step 4, the conflicts raised by the git merge are mainly due to the specific configurations differentiating your staging and production instances (e.g. the database config in the universe file). You solve it not merging the specific info from staging to production instance (e.g. database config).

Assuming that what I described is correct (and I think it's not !), I don't understand how the staging instance "survives". Because the git merge would merge it into the production one.

Cheers,
Mathieu

On 03/09/16 02:45, Ryan G wrote:
We do exactly this.

We have a staging instance, and a production instance.   Both exist in a single git repo as separate branches.  The main different for this is that the staging and production config file point to different port and database instances.

We also maintain a staging and production python environment to match.

Changes always flow from staging to production and follow the git branch modeling from http://nvie.com/posts/a-successful-git-branching-model/

This has worked EXTREMELY well for us.   



On Wed, Aug 31, 2016 at 3:00 AM, Mathieu Bahin <mathieu.bahin@biologie.ens.fr> wrote:
Hi all,

First of all, I'm new to this list and already posted my question on
biostar. Thanks to Hans-Rudolf for his answer but I'm not sure we have
exactly the same constraints here and I send this message to try to get
other answers and see what is the best solution for us.

I'm trying to setup a good galaxy environment for a biology institute.
To do so, I need to have a development and a production instances that
are clones on the structure side. I'd like to update regularly these
instances (following more or less galaxy main updates) and track them
with git repos.

I'm pretty sure lot of galaxy admins are trying to do that but I can't
find the answer.

My idea was to have a local git repo to save the development instance
(not the data). When there is a new update, I git pull it from galaxy
GitHub, compare what changed in the sample files and make the
appropriate changes in the config files corresponding to these samples.
Then I would git push towards the production instance. To do so, I need
to have a proper .gitignore file (listing especially the data files). I
saw that there is a .gitignore in the galaxy GitHub repo. It's probably
relevant when I want to pull the updates but I'm not sure it is
regarding the transfers between the development and production instances
(for example, the config files have to be tracked I guess).

Cheers,
Mathieu

--
---------------------------------------------------------------------------------------
| Mathieu Bahin
| IE CNRS
|
| Institut de Biologie de l'Ecole Normale Supérieure (IBENS)
| Biocomp team
| 46 rue d'Ulm
| 75230 PARIS CEDEX 05
| 01.44.32.23.56
---------------------------------------------------------------------------------------

___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/


-- 
---------------------------------------------------------------------------------------
| Mathieu Bahin
| IE CNRS
|
| Institut de Biologie de l'Ecole Normale Supérieure (IBENS)
| Biocomp team
| 46 rue d'Ulm
| 75230 PARIS CEDEX 05
| 01.44.32.23.56
---------------------------------------------------------------------------------------