djangocontinuous-integrationhudsonjenkins

Deploy as Jenkins User or Allow Jenkins To Run As Different User?


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.


Solution

  • 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.