Talk:Continuous integration/Jenkins job builder

From mediawiki.org

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