e1482e4e4f
Change-Id: I1c66e3fae65f740866202e84fcfce34f5830f155 Use the --user to install bindep Change-Id: I8a1c79a6d591c4e43416f4afc3dba87f78ef612e
92 lines
2.8 KiB
ReStructuredText
92 lines
2.8 KiB
ReStructuredText
:orphan:
|
|
|
|
Install Zuul
|
|
============
|
|
|
|
Initial Setup
|
|
-------------
|
|
|
|
First we'll create the zuul user and set up some directories it needs.
|
|
We'll also install the SSH private key that we previously created
|
|
during the Nodepool setup.
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo groupadd --system zuul
|
|
$ sudo useradd --system zuul --home-dir /var/lib/zuul --create-home -g zuul
|
|
$ sudo mkdir /etc/zuul/
|
|
$ sudo mkdir /var/log/zuul/
|
|
$ sudo chown zuul:zuul /var/log/zuul/
|
|
$ sudo mkdir /var/lib/zuul/.ssh
|
|
$ sudo chmod 0700 /var/lib/zuul/.ssh
|
|
$ sudo mv nodepool_rsa /var/lib/zuul/.ssh
|
|
$ sudo chown -R zuul:zuul /var/lib/zuul/.ssh
|
|
|
|
Installation
|
|
------------
|
|
|
|
Clone the Zuul git repository and install it. The ``bindep`` program
|
|
is used to determine any additional binary dependencies which are
|
|
required.
|
|
|
|
.. code-block:: console
|
|
|
|
# All:
|
|
$ git clone https://opendev.org/zuul/zuul
|
|
$ pushd zuul/
|
|
|
|
# For Fedora and CentOS:
|
|
$ sudo yum -y install $(bindep -b compile)
|
|
|
|
# For openSUSE:
|
|
$ zypper install -y $(bindep -b compile)
|
|
|
|
# For Ubuntu:
|
|
$ apt-get install -y $(bindep -b compile)
|
|
|
|
# All:
|
|
$ tools/install-js-tools.sh
|
|
|
|
# All:
|
|
$ sudo pip3 install .
|
|
$ sudo zuul-manage-ansible
|
|
$ popd
|
|
|
|
Service Files
|
|
-------------
|
|
|
|
Zuul includes systemd service files for Zuul services in the ``etc`` source
|
|
directory. To use them, do the following steps.
|
|
|
|
.. code-block:: console
|
|
|
|
$ pushd zuul/
|
|
$ sudo cp etc/zuul-scheduler.service /etc/systemd/system/zuul-scheduler.service
|
|
$ sudo cp etc/zuul-executor.service /etc/systemd/system/zuul-executor.service
|
|
$ sudo cp etc/zuul-web.service /etc/systemd/system/zuul-web.service
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-scheduler.service
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-executor.service
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-web.service
|
|
$ popd
|
|
|
|
If you are installing Zuul on ``CentOS 7`` and copied the provided service
|
|
files in previous step, please follow the steps below to use corresponding
|
|
systemd drop-in files so Zuul services can be managed by systemd.
|
|
|
|
.. code-block:: console
|
|
|
|
$ pushd zuul/
|
|
$ sudo mkdir /etc/systemd/system/zuul-scheduler.service.d
|
|
$ sudo cp etc/zuul-scheduler.service.d/centos.conf \
|
|
/etc/systemd/system/zuul-scheduler.service.d/centos.conf
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-scheduler.service.d/centos.conf
|
|
$ sudo mkdir /etc/systemd/system/zuul-executor.service.d
|
|
$ sudo cp etc/zuul-executor.service.d/centos.conf \
|
|
/etc/systemd/system/zuul-executor.service.d/centos.conf
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-executor.service.d/centos.conf
|
|
$ sudo mkdir /etc/systemd/system/zuul-web.service.d
|
|
$ sudo cp etc/zuul-web.service.d/centos.conf \
|
|
/etc/systemd/system/zuul-web.service.d/centos.conf
|
|
$ sudo chmod 0644 /etc/systemd/system/zuul-web.service.d/centos.conf
|
|
$ popd
|