Talk:Continuous integration/Jenkins job builder

Much hilarious buggen: url=https://integration.mediawiki.org/ci/ != url=https://integration.wikimedia.org/ci/ Authentication fails if you use the latter, which is the string suggested in the docs.

Installing JJB fails the way it is suggested edit

sudo python setup.py develop and python setup.py develop --user fail with

...
Processing dependencies for jenkins-job-builder==8cbc93a
Searching for python-jenkins
Reading https://pypi.python.org/simple/python-jenkins/
Reading http://launchpad.net/python-jenkins
Best match: python-jenkins 0.2.1
Downloading https://pypi.python.org/packages/source/p/python-jenkins/python-jenkins-0.2.1.tar.gz#md5=4e285c3f292ed05c36b79b1fbcc25ba8
Processing python-jenkins-0.2.1.tar.gz
Writing /tmp/easy_install-MaZBCE/python-jenkins-0.2.1/setup.cfg
Running python-jenkins-0.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-MaZBCE/python-jenkins-0.2.1/egg-dist-tmp-0qbBY7
Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    pbr=True)
  File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.7/site-packages/setuptools/command/develop.py", line 27, in run
    self.install_for_development()
  File "/usr/lib/python2.7/site-packages/setuptools/command/develop.py", line 129, in install_for_development
    self.process_distribution(None, self.dist, not self.no_deps)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 713, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve
    dist = best[req.key] = env.best_match(req, self, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match
    return self.obtain(req, installer) # try and download/install
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain
    return installer(requirement)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 630, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 660, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 856, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1137, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1122, in run_setup
    run_setup(setup_script, args)
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 69, in run_setup
    lambda: execfile(
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 120, in run
    return func()
  File "/usr/lib/python2.7/site-packages/setuptools/sandbox.py", line 71, in <lambda>
    {'__file__':setup_script, '__name__':'__main__'}
  File "setup.py", line 11, in <module>
    # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib64/python2.7/distutils/dist.py", line 970, in run_command
    cmd_obj = self.get_command_obj(command)
  File "/usr/lib64/python2.7/distutils/dist.py", line 846, in get_command_obj
    cmd_obj = self.command_obj[command] = klass(self)
  File "/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 60, in __init__
    _Command.__init__(self,dist)
  File "/usr/lib64/python2.7/distutils/cmd.py", line 59, in __init__
    raise TypeError, "dist must be a Distribution instance"
TypeError: dist must be a Distribution instance

on openSUSE 13.1 (Bottle).

So here is what worked for me (using a sudo-bash terminal):

$ cd jenkins-job-builder
$ zypper in python-pip
$ zypper in libyaml-devel
$ zypper in python-devel
$ pip install .
$ python setup.py develop
$ jenkins-jobs

-- Rillke (talk) 15:37, 13 May 2014 (UTC)Reply

I get the same TypeError: dist must be a Distribution instance in failure Ubuntu 14.04 for both the --user and sudo versions of python setup.py develop command in the instructions. There's no zypper in Ubuntu, so I'm not sure how to proceed. -- S Page (WMF) (talk) 23:12, 31 May 2014 (UTC)Reply

Why create a remote named "gerrit"? edit

"Configure JJB" section says to run

git clone -o gerrit
ssh://gerrit.wikimedia.org:29418/integration/jenkins-job-builder-config.git config

Why insist on a remote named "gerrit"? It just causes misery later when every other git command you read tells you to fetch/pull/merge from the remote named origin. If this is actually needed, please say why. -- S Page (WMF) (talk) 23:23, 31 May 2014 (UTC)Reply

Return to "Continuous integration/Jenkins job builder" page.