Add Jenkins Bootstrap documentation 03/10903/13
authorThanh Ha <thanh.ha@linuxfoundation.org>
Thu, 31 May 2018 00:25:15 +0000 (20:25 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Mon, 18 Jun 2018 17:12:47 +0000 (13:12 -0400)
Issue: RELENG-981
Change-Id: I1f1902bb4c699ea43e3df319b483ebfb395733e3
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/_static/ciman/anonymous-user-permissions.example [new file with mode: 0644]
docs/_static/ciman/jobbuilder-user-permissions.example [new file with mode: 0644]
docs/infra/bootstrap.rst

diff --git a/docs/_static/ciman/anonymous-user-permissions.example b/docs/_static/ciman/anonymous-user-permissions.example
new file mode 100644 (file)
index 0000000..4171ab8
--- /dev/null
@@ -0,0 +1,4 @@
+* Overall:Read
+* Job:ExtendedRead
+* Job:Read
+* View:Read
diff --git a/docs/_static/ciman/jobbuilder-user-permissions.example b/docs/_static/ciman/jobbuilder-user-permissions.example
new file mode 100644 (file)
index 0000000..dfdcb0f
--- /dev/null
@@ -0,0 +1,10 @@
+* Overall: Administer
+* Job: Configure
+* Job: Create
+* Job: Delete
+* Job: Discover
+* Job: Read
+* View: Configure
+* View: Create
+* View: Delete
+* View: Read
index 775a518..a59b038 100644 (file)
@@ -1,9 +1,92 @@
-.. _lfreleng-docs-bootstrap:
+.. _infra-bootstrap:
 
 ###################
 New Infra Bootstrap
 ###################
 
+This document uses ``example.org`` as the domain for all examples. Please
+change to point to the intended systems for your project.
+
+.. _infra-bootstrap-jenkins:
+
+Jenkins
+=======
+
+Steps
+
+#. Login to Jenkins at https://jenkins.example.org
+#. Navigate to https://jenkins.example.org/pluginManager/
+#. Update all plugins
+#. Install required plugins as documented in :ref:`global-jjb install guide
+   <global-jjb:jenkins-install-plugins>`
+#. Install the following plugins:
+
+   * `Build Timeout plugin
+     <https://plugins.jenkins.io/build-timeout>`_
+   * `Extended Read Permission plugin
+     <https://plugins.jenkins.io/extended-read-permission>`_
+
+#. Navigate to https://jenkins.example.org/configure
+#. Configure Jenkins as follows:
+
+   .. code-block:: none
+
+      # of executors: 0
+      Jenkins URL: https://jenkins.example.org
+      System Admin e-mail address: Jenkins <jenkins-dontreply@example.org>
+      Global Config user.name value: jenkins
+      Global Config user.email value: jenkins@example.org
+
+   If using the Message Injector plugin set ``Message to inject`` to
+   ``Logs: https://logs.example.org/SILO/HOSTNAME/$JOB_NAME/$BUILD_NUMBER`` and
+   replace ``SILO`` and ``HOSTNAME`` as appropriate.
+#. Click ``Save``
+
+#. Configure Jenkins security as described in `Jenkins Security <jenkins-security>`
+
+#. Navigate to https://jenkins.example.org/configureSecurity/
+#. Configure the following permissions for ``Anonymous Users``
+
+   .. include:: ../_static/ciman/anonymous-user-permissions.example
+
+   .. note::
+
+      If the project is not yet public, hold off on these permissions or adjust
+      as necessary for the project's case.
+
+#. Setup Jenkins global environment variables as described in the
+   :ref:`global-jjb install guide <global-jjb:jenkins-envvars>`
+
+   .. note::
+
+      Skip the ci-management step in as we will be discussing that in the
+      next section.
+
+#. Setup a :ref:`jobbuilder account <setup-jobbuilder-account>`
+#. Setup global-jjb required `Jenkins Files <global-jjb:jenkins-files>`_
+
+.. _setup-jobbuilder-account:
+
+Setup JobBuilder account
+------------------------
+
+The ci-jobs in global-jjb require a jobbuilder account which has permissions
+to login to Jenkins.
+
+#. Navigate to and create an account for jobbuilder https://identity.linuxfoundation.org/
+
+   .. note::
+
+      This step mainly applies to LF projects. Use the relevant identity system
+      as it applies to your local configuration.
+
+#. Navigate to https://jenkins.example.org/configureSecurity and
+   configure permissions for the jobbuilder account as follows:
+
+   .. include:: ../_static/ciman/jobbuilder-user-permissions.example
+
+.. _infra-bootstrap-ci-management:
+
 ci-management repo
 ==================