From: Thanh Ha Date: Thu, 31 May 2018 00:25:15 +0000 (-0400) Subject: Add Jenkins Bootstrap documentation X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=commitdiff_plain;h=4525cf3367fc77b56a321b54d79dad6cf8e140b0;p=releng%2Fdocs.git Add Jenkins Bootstrap documentation Issue: RELENG-981 Change-Id: I1f1902bb4c699ea43e3df319b483ebfb395733e3 Signed-off-by: Thanh Ha --- diff --git a/docs/_static/ciman/anonymous-user-permissions.example b/docs/_static/ciman/anonymous-user-permissions.example new file mode 100644 index 0000000..4171ab8 --- /dev/null +++ b/docs/_static/ciman/anonymous-user-permissions.example @@ -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 index 0000000..dfdcb0f --- /dev/null +++ b/docs/_static/ciman/jobbuilder-user-permissions.example @@ -0,0 +1,10 @@ +* Overall: Administer +* Job: Configure +* Job: Create +* Job: Delete +* Job: Discover +* Job: Read +* View: Configure +* View: Create +* View: Delete +* View: Read diff --git a/docs/infra/bootstrap.rst b/docs/infra/bootstrap.rst index 775a518..a59b038 100644 --- a/docs/infra/bootstrap.rst +++ b/docs/infra/bootstrap.rst @@ -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 + ` +#. Install the following plugins: + + * `Build Timeout plugin + `_ + * `Extended Read Permission plugin + `_ + +#. 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 + 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 ` + +#. 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 ` + + .. note:: + + Skip the ci-management step in as we will be discussing that in the + next section. + +#. Setup a :ref:`jobbuilder account ` +#. Setup global-jjb required `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 ==================