|
@@ -70,3 +70,58 @@ privileges, such as those from the ``root`` account or those obtained
|
|
by ``sudo``. If necessary, please refer to ``ansible-playbook``
|
|
by ``sudo``. If necessary, please refer to ``ansible-playbook``
|
|
options such as ``--become``, ``--become-method``, ``--become-user``
|
|
options such as ``--become``, ``--become-method``, ``--become-user``
|
|
and ``--ask-become-pass``.
|
|
and ``--ask-become-pass``.
|
|
|
|
+
|
|
|
|
+gitlab-runner setup and registration
|
|
|
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
+
|
|
|
|
+The gitlab-runner agent needs to be installed on each machine that
|
|
|
|
+will run jobs. The association between a machine and a GitLab project
|
|
|
|
+happens with a registration token. To find the registration token for
|
|
|
|
+your repository/project, navigate on GitLab's web UI to:
|
|
|
|
+
|
|
|
|
+ * Settings (the gears-like icon at the bottom of the left hand side
|
|
|
|
+ vertical toolbar), then
|
|
|
|
+ * CI/CD, then
|
|
|
|
+ * Runners, and click on the "Expand" button, then
|
|
|
|
+ * Under "Set up a specific Runner manually", look for the value under
|
|
|
|
+ "And this registration token:"
|
|
|
|
+
|
|
|
|
+Copy the ``scripts/ci/setup/vars.yml.template`` file to
|
|
|
|
+``scripts/ci/setup/vars.yml``. Then, set the
|
|
|
|
+``gitlab_runner_registration_token`` variable to the value obtained
|
|
|
|
+earlier.
|
|
|
|
+
|
|
|
|
+To run the playbook, execute::
|
|
|
|
+
|
|
|
|
+ cd scripts/ci/setup
|
|
|
|
+ ansible-playbook -i inventory gitlab-runner.yml
|
|
|
|
+
|
|
|
|
+Following the registration, it's necessary to configure the runner tags,
|
|
|
|
+and optionally other configurations on the GitLab UI. Navigate to:
|
|
|
|
+
|
|
|
|
+ * Settings (the gears like icon), then
|
|
|
|
+ * CI/CD, then
|
|
|
|
+ * Runners, and click on the "Expand" button, then
|
|
|
|
+ * "Runners activated for this project", then
|
|
|
|
+ * Click on the "Edit" icon (next to the "Lock" Icon)
|
|
|
|
+
|
|
|
|
+Tags are very important as they are used to route specific jobs to
|
|
|
|
+specific types of runners, so it's a good idea to double check that
|
|
|
|
+the automatically created tags are consistent with the OS and
|
|
|
|
+architecture. For instance, an Ubuntu 20.04 aarch64 system should
|
|
|
|
+have tags set as::
|
|
|
|
+
|
|
|
|
+ ubuntu_20.04,aarch64
|
|
|
|
+
|
|
|
|
+Because the job definition at ``.gitlab-ci.d/custom-runners.yml``
|
|
|
|
+would contain::
|
|
|
|
+
|
|
|
|
+ ubuntu-20.04-aarch64-all:
|
|
|
|
+ tags:
|
|
|
|
+ - ubuntu_20.04
|
|
|
|
+ - aarch64
|
|
|
|
+
|
|
|
|
+It's also recommended to:
|
|
|
|
+
|
|
|
|
+ * increase the "Maximum job timeout" to something like ``2h``
|
|
|
|
+ * give it a better Description
|