I'm attempting to use Jenkins to automatically deploy my dev and stage branches of my Django projects which are hosted on a Github organisation repository (ie, private). At the moment I have a user "django" who can access the Github repo via a Github deploy key. My Jenkins user can't access the repo.
What's the best practice way of dealing with this - should I be creating an ssh deploy key for the "jenkins" user, or should I be getting Jenkins to run as my "django" user? I've seen mention if a HUDSON_USER in a newsgroup post, but I can't find reference to this in the docs.
I have not worked with Github and so this answer may not apply at all, but we do use Jenkins and we use both CVS & Subversion for source control.
In our system, we use different username/password combinations for all three (Jenkins, CVS, Subversion), and it has had no adverse effects yet (it has been a year since we deployed Hudson - currently building 50+ projects).
As long as you can get Jenkins to access the repo using your github deploy key, you shouldn't have to change Jenkins to run as django, or create a jenkins user key for github. Personally, I would keep them separate.