From 1000f4c82af94fd80bfe301fc6d37b91f6169f2c Mon Sep 17 00:00:00 2001 From: "marcoemi.poleggi" <marco-emilio.poleggi@hesge.ch> Date: Wed, 23 Nov 2022 11:37:14 +0100 Subject: [PATCH] Update README.md --- README.md | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 81151d4..f9d9e1c 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,6 @@ Simple app deployment exercise (DevOps) with GitLab CI/CD. -## Pedagogical objectives ## - - * Become familiar with DevOps practices - * Learn how to automatically deploy things via GitLab CD/CD ## Scenario ## @@ -40,10 +36,6 @@ is playing: ## Tasks ## -In this lab you will perform a number of tasks and document your progress in a -lab report. Each task specifies one or more deliverables to be -produced. Collect all the deliverables in your lab report. - **N.B.** Some tasks require interacting with your local machine's OS: any related commands are supposed to be run into a terminal with the following conventions about the *command line prompt*: @@ -58,21 +50,26 @@ conventions about the *command line prompt*: **Goal:** set up your GitLab CI/CD via its Web GUI. -Our GitLab instance comes with a shared Docker-based CI/CD *runner*. +Fork this project into your personal namespace and configure it (menu `Settings`): +- In `General > Visibility,...`: + * [x] `Repository > CI/CD:` active with "Only project members" (or empty) + * [x] `Operations`: active with "Only project members" (or empty) -Deploy [SSH keys for the Docker -executor](https://docs.gitlab.com/ee/ci/ssh_keys/). :bulb: All secrets should -be **protected** and possibly **masked**. The following variables have to be added: -`SSH_PRIVATE_KEY`, `SSH_KNOWN_HOSTS` and `PRODUCTION_IP`. +Our GitLab instance comes with a shared Docker-based CI/CD *runner* (or executor). +Generate your [SSH key pair](https://docs.gitlab.com/ee/ci/ssh_keys/) to interact with your VM instance. -Configure the CI/CD system as it follows in section **Settings > CI/CD > -General pipelines**: -- [ ] Public pipelines -- [x] Auto-cancel redundant pipelines -- [x] Skip outdated deployment jobs -- Git strategy: fetch -- Git shallow clone: 1 -- Timeout: 10m +Configure the CI/CD system as it follows (menu `Settings > CI/CD`): +- In `General pipelines`: + * [ ] `Public pipelines` + * [x] `Auto-cancel redundant pipelines` + * [x] `Skip outdated deployment jobs` + * `Git strategy:` fetch + * `Git shallow clone:` 1 + * `Timeout:` 10m +- In `Runners`: + * [x] `Enable shared runners...` +- In `Variables`: add the following variables: `SSH_PRIVATE_KEY`, `SSH_KNOWN_HOSTS` and `PRODUCTION_IP`. + :bulb: All secrets should be **protected** and possibly **masked** (SSH public keys cannot by masked). ### Task #2: CI/CD pipeline ### @@ -100,7 +97,6 @@ before_script: unit_test1: stage: test script: - - # clone our repo locally - # check the app version number and exit != 0 if it's wrong deploy_prod: -- GitLab