wiki:GitBasedDeployment
Last modified 8 years ago Last modified on 09/16/13 13:34:36

Pushing changes

You can/should deploy your changes to rollout repository (galaxy.uabgrid instance) as well as git.uabgrid repository. Right now you will need to make two git- push command (one for each remote), however, we are planning to do this with only one remote-repo/git-push in future.

  • Send your SSH public key to Shantanu, Mike or John-Paul which will allow you to push changes to rollout repository (galaxy.uabgrid instance)
  • Add 'rollout' remote to your Git repository:
    $ git remote add rollout ssh://galaxy@galaxy.uabgrid.uab.edu/share/apps/galaxy/RollOutRepo/galaxy.git
    
  • Commit changes (git add and git commit). You can work directly on the develop branch or work on a different branch and later merge changes with develop branch.
  • Push 'develop' branch to remote 'origin' (git.uabgrid.uab.edu - official repo) - integrated with trac
    $ git push origin develop
    
  • Push 'develop' branch to remote 'rollout' repo which will deploy latest changes and restart galaxy service
    $ git push rollout develop
    
  • Make sure your changes are visible/working on the production system.
  • Making multiple pushes in one go is possible by adding multiple URLs for a remote - http://stackoverflow.com/questions/849308/pull-push-from-multiple-remote-locations . Solution below will add fetch/push for git.uabgrid and push only for /share/apps/galaxy.
    $ git remote add boom ssh://$USER@git.uabgrid.uab.edu/home/git/repositories/galaxy.git
    $ git remote set-url --add boom /share/apps/galaxy/RollOutRepo/galaxy.git
    
    # git push boom develop # - will push to both URLs
    

Once trac/git repos are integrated with the Cheaha/RCS network, we will be able to use only one URL.

RollOut repo - under the hood

Write about post-receive hook.