Add project-bootstrap checklist 86/8386/4
authorThanh Ha <thanh.ha@linuxfoundation.org>
Fri, 12 Jan 2018 20:33:30 +0000 (15:33 -0500)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Wed, 7 Mar 2018 02:10:41 +0000 (21:10 -0500)
Issue: RELENG-513
Change-Id: I79d6b44d6538af6d6ef459c318a19240c4fac485
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/index.rst
docs/project-bootstrap.rst [new file with mode: 0644]

index 47d9248..f69fbc0 100644 (file)
@@ -40,6 +40,14 @@ Help:
 
    helpdesk
 
+LF Internal:
+
+.. toctree::
+   :maxdepth: 2
+
+   project-bootstrap
+
+
 Indices and tables
 ==================
 
diff --git a/docs/project-bootstrap.rst b/docs/project-bootstrap.rst
new file mode 100644 (file)
index 0000000..0c49a40
--- /dev/null
@@ -0,0 +1,72 @@
+.. _lfreleng-docs-bootstrap:
+
+#####################
+New Project Bootstrap
+#####################
+
+ci-management repo
+==================
+
+Once Jenkins is available we can initialize a new ci-management repo.
+
+Steps
+
+.. todo:: First bootstrap a builder so that we can bootstrap ci-management
+
+#. Create ci-management repo in Gerrit
+#. Create a README.md file explaining the purpose of the repo
+#. Setup tox/coala linting for jjb/ and packer directories
+#. Install global-jjb to GIT_ROOT/jjb/global-jjb
+#. Create the CI Jobs in jjb/ci-management/ci-jobs.yaml
+
+   .. code-block:: yaml
+
+      - project:
+          name: ci-jobs
+
+          jobs:
+            - '{project-name}-ci-jobs'
+
+          project: ci-management
+          project-name: ci-management
+          build-node: centos7-builder-2c-1g
+
+#. Manually push the initial ci-management jobs to Jenkins
+#. Git commit the current files and push to Gerrit
+#. Confirm verify jobs work
+#. Merge the patch and confirm merge job works
+#. Install lf-ansible to GIT_ROOT/lf-ansible::
+
+   git submodule add https://github.com/lfit/releng-lf-ansible.git lf-ansible
+
+#. Install common-packer to GIT_ROOT/packer/common-packer::
+
+   git submodule add https://github.com/lfit/releng-common-packer.git packer/common-packer
+
+#. Git commit and merge patch in Gerrit
+#. Create Initial CI Packer job in jjb/ci-management/ci-packer.yaml
+
+   .. code-block:: yaml
+
+      - project:
+          name: packer-builder-jobs
+          jobs:
+            - gerrit-packer-merge
+
+          project: ci-management
+          project-name: ci-management
+          build-node: centos7-builder-2c-1g
+
+          platforms: centos
+          templates: builder
+
+#. Git commit and merge patch in Gerrit
+#. Symlink common-packer/templates/builder.json.example to templates/builder.json
+#. Git commit and push patch to Gerrit
+#. Confirm packer verify job passes
+#. Merge patch and confirm merge job works
+#. Update and Create appropriate builders in Jenkins using the newly created image
+
+.. todo:: provide example README text
+.. todo:: provide example tox.ini and .coafile
+.. todo:: we need to make sure the ci-jobs macro includes the tox job for linting