From 2dfc7b9ab4981e7d583d58ecacad1823f666c5b8 Mon Sep 17 00:00:00 2001 From: Jessica Wagantall Date: Wed, 8 Mar 2023 12:06:58 -0800 Subject: [PATCH] Fix: Update repo creation documentation Update docs on porject creation instructions to reflect what happens with any project configuration files and credentials. Issue: RELENG-4616 Change-Id: I693cde08c5efa3c047a34b1a4e633b776ab7b202 Signed-off-by: Jessica Wagantall --- docs/project-creation.rst | 103 +++++++++++++++++++++++++++++++++------------- 1 file changed, 74 insertions(+), 29 deletions(-) diff --git a/docs/project-creation.rst b/docs/project-creation.rst index 609e1a4..b661604 100644 --- a/docs/project-creation.rst +++ b/docs/project-creation.rst @@ -1,8 +1,8 @@ .. _project-creation: -####################### -Project Creation (BETA) -####################### +################ +Project Creation +################ Introduction @@ -12,8 +12,8 @@ Self serve project creation: To reduce administrator time spent on project creation automation is in place. Submitting and merging an INFO.yaml file for a new Gerrit repository now creates the project and its related resources. -Quick Start -=========== +Quick Start and INFO.yaml Creation +================================== To drive Self-serve Project creation submit an INFO.yaml for approval in the correct location in the Linux Foundation's info-master repository. @@ -32,39 +32,84 @@ An example of a parent and child: gerrit.onap.org/ccsdk/dashboard Where ccsdk is the parent and dashboard is the child. -Correct clone options for your LFID will be available here: -.. _info-master: https://gerrit.linuxfoundation.org/infra/admin/repos/releng/info-master +#. Correct clone options for your LFID will be available here: + .. _info-master: https://gerrit.linuxfoundation.org/infra/admin/repos/releng/info-master -Example of cloning the info-master repo and creating a new repo -"example-parent/example-child" on gerrit.example.org + Example of cloning the info-master repo and creating a new repo + "example-parent/example-child" on gerrit.example.org -.. code-block:: bash + .. code-block:: bash - git clone ssh://LFID@gerrit.linuxfoundation.org:29418/releng/info-master - cd info-master/gerrit.example.org/example-parent/ - mkdir example-child/ && cd example-child + git clone ssh://LFID@gerrit.linuxfoundation.org:29418/releng/info-master + cd info-master/gerrit.example.org/example-parent/ + mkdir example-child/ && cd example-child -We are now in an empty directory whose name matches the repository we are creating. -We must create an INFO.yaml file in this directory and submit it for review. -We have created an optional helper to expediate this step, it makes creating and INFO.yaml file -quicker and less error prone. + We are now in an empty directory whose name matches the repository we are creating. -.. code-block:: bash +#. We must create an INFO.yaml file in this directory and submit it for review. + We have created an optional helper to expediate this step, it makes creating and INFO.yaml file + quicker and less error prone. - lftools infofile create-info-file gerrit.example.org example-parent/example-child --empty --tsc_approval "https://link.to.meeting.minutes" > INFO.yaml + .. code-block:: bash -We must now pause and fill out the empty sections on the INFO.yaml + lftools infofile create-info-file gerrit.example.org example-parent/example-child --empty --tsc_approval "https://link.to.meeting.minutes" > INFO.yaml -.. code-block:: bash +#. We must now pause and fill out the empty sections on the INFO.yaml - vim INFO.yaml #(add committers and lead) - tox #(check that you have entered valid yaml) - git add INFO.yaml - git commit -sv - git review + .. code-block:: bash + + vim INFO.yaml #(add committers and lead) + tox #(check that you have entered valid yaml) + git add INFO.yaml + git commit -sv + cd to the root path of the info-master repo + git review + + .. note:: + + An LF staff will be automatically added to review your change. + If the --tsc_approval link checks out and the verify job passes + your project creation will happen on the merge of your patch set. + +Jenkins Configuration +--------------------- + +After merging the INFO.yaml, Jenkins updates project managed credentials (username and passwords). + +Users still need to create the Jenkins Maven Settings files and used for Nexus artifact and image +deployment. + +#. Clone the ci-management repo for your project + + .. code-block:: bash + + git clone ssh://LFID@gerrit.o-ran-sc.org:29418/ci-management" + +#. Navigate to jenkins-config/managed-config-files/mavenSettings and create your project directory + and files. Name the directory "-settings" + + This folder contains: + + * config-params.yaml - Parameters file + * content - Symbolic link to file "../../../managed-config-templates/mavenSettings-content" + * serverCredentialMappings.sandbox.yaml - Symbolic link to file + ../../../managed-config-templates/serverCredentialMappings.sandbox.yaml + * serverCredentialMappings.yaml - Maven Server ID and Credential mappings + + .. note:: + + Users can copy these files from an existing repo's settings files to use as a guide and + update them to match their repo names. + +#. Push the change. LFIT will review the change and merge it + +These jenkins-config files call the Jenkins corresponding repo credentials created after merging the +INFO.yaml file. The is a set of credentials and jenkins-config files per each repo. If a repo has +sub folders for different repo sub components, they all will use the .git repo matching credentials. + +jenkins-config files allow artifacts and docker images deployment in Nexus and Nexus3 via Jenkins jobs. .. note:: - An LF staff will be automatically added to review your change. - If the --tsc_approval link checks out and the verify job passes - your project creation will happen on the merge of your patch set. + Please contact support.linuxfoundation.org for any questions during this process or for any related + Jenkins failues with project creentials and Nexus/Nexus3 access issues. -- 2.16.6