Open gonzalomerino opened 8 years ago
Could we have client.py do a git pull
after it is done?
Maybe once we move to a model where master is always stable. That requires discipline and adherence to a git branching model from me. It would also be nice to have tests to say "this is stable code and can be merged into master".
Even given a stable master, the main obstacle I see is that git pull
is not guaranteed to succeed without supervision. There are a couple of ways it can fail:
git remote -v
and git remote add upstream https://github.com/WIPACrepo/pyglidein.git
if it's missing)git stash
followed by git pull upstream master --commit
, but this still has the potential to step all over work in progress.Another way to synchronize things would be to create a tag when new features should go live, and have the server include the current tag in the state it sends to clients, and have them check out that tag if it doesn't match what they currently have.
I have debated tagging releases, so there are "known good" points to auto-update to. I already have code that knows how to find the latest release from github, which could be incorporated.
But yeah, not sure basing everything on git pull
is the best idea. Might be better to change our deployment strategy for non-dev situations.
Are python eggs or containers acceptable?
python egg = pip install
Discuss this at the collaboration meeting in the Grid Ops session.
It will be good if the client code has auto-update capability, so that the version deployed at remote sites can be controlled up to some extent centrally, without the need for remote sites to take action.