Commit a9863f7b authored by Thomas Boni's avatar Thomas Boni
Browse files

enhance the Home part of doc

parent 85ba98bc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
# See https://gitlab.com/go2scale/jobs/ for more informations

quality_check:
  stage: code_level
  stage: static_tests
  image:
    name: "registry.gitlab.com/go2scale/dockerfiles/quality-check:v0.2.7"
  variables:
+1 −1
Original line number Diff line number Diff line
@@ -2,6 +2,6 @@ title: Home
arrange:
  - index.md
  - getting-started.md
  - versioning.md
  - contributing.md
  - versioning.md
  - license.md
+46 −17
Original line number Diff line number Diff line
# Getting started

Follows these steps to setup your CI/CD pipeline in less than 10 minutes !

1. Select jobs you want in [Jobs section](/Jobs/)
2. Fulfil the following file with all selected jobs

    !!! info
        You can choose to use the latest version or a specific one for each
        job. Available version tag and corresponding url are described for each
        jobs in [Jobs section](/Jobs/).

        Once your pipeline is functional, we recommend to use specific version
        for jobs in order to ensure that your pipeline will not be broken by a
        job update.

        Details about versioning format are available in [Versioning
        page](/versioning/).

2. Create a new file named `.gitlab-ci.yml` in the root on your repository
3. Fulfil it with the following content using all selected jobs url:

    ```yaml
    stages:
      - code_level
      - static_tests
      - build
      - review
      - application_level
      - dynamic_tests
      - staging
      - production
      - performance

    include:
      - remote: '<JOB-URL>'
@@ -19,41 +34,54 @@
      - remote: ...
    ```

3. Store this file in `.gitlab-ci.yml` in the root on your repository
4. Use the full power of a CI/CD pipeline 🚀
3. Some jobs in [Jobs section](/Jobs/) provides options. You can configure them
   using the `variables` keyword in `.gitlab-ci.yml`:

    ```yaml
    variables:
      <OPTION_JOB1>: <VALUE>
      <OPTION2_JOB1>: <VALUE>
      <OPTION_JOB2>: <VALUE>
      ...
    ```

4. Everything is ready! You can now benefit the full power of a CI / CD
   pipeline 🎉🚀

## Example

Of course, you can combine jobs templates and your own jobs.
You can also combine jobs templates and your own jobs in `.gitlab-ci.yml`
configuration file.

An example of a full `.gitlab-ci.yml` file with [kubernetes pipeline
template](#kubernetes), 2 jobs templates and a custom `unit_tests` template:
An example of a full `.gitlab-ci.yml` file with:

``` yaml
* One job template with latest version (`master`)
* One job template with specific version using tag `2020-06-22_1`
* Configuration for one job using `variables`
* A custom `unit_tests` job

``` yaml
stages:
  - code_level
  - static_tests
  - build
  - review
  - application_level
  - dynamic_tests
  - staging
  - production
  - performance

# Jobs from g2s hub
include:
  - remote: 'https://gitlab.com/go2scale/jobs/raw/2020-03-05_3/jobs/mkdocs/mkdocs.yml'
  - remote: 'https://gitlab.com/go2scale/jobs/raw/2020-03-05_3/jobs/coala/coala.yml'
  - remote: 'https://gitlab.com/go2scale/jobs/-/raw/master/Jobs/docker/docker.yml'
  - remote: 'https://gitlab.com/go2scale/jobs/-/raw/2020-06-22_1/Jobs/mkdocs/mkdocs.yml'

# Some jobs can be configured with variables
variables:
  QUALITY_ERROR_LEVEL: MAJOR
  DOC_TOOL: mkdocs

# You can also include your own jobs
unit_tests:
  image: python:3.7-alpine3.10
  stage: code_level
  stage: static_tests
  before_script:
    - apk add gcc make musl-dev postgresql-dev git linux-headers libmagic jpeg-dev zlib-dev
    - pip install pipenv && pipenv --bare install --dev
@@ -107,3 +135,4 @@ CI/CD settings and never in clear text in `.gitlab-ci.yml`:
* `TEMPLATES_REPO_USER`: user name to with at least read access to repository
* **SECRET** `TEMPLATES_REPO_PASSWORD`: password (or token) with at least read access to templates repository

-->
+6 −2
Original line number Diff line number Diff line
@@ -2,13 +2,17 @@

Welcome to the g2s hub ! 🎉

[g2s hub](https://gitlab.com/go2scale/jobs) is a collaborative hub of CI & CD
jobs which helps you to quickly build powerful pipelines for your projects.
**g2s hub** is a collaborative hub of CI & CD
ready to use jobs which helps you to quickly build powerful pipelines for your
projects.

Each jobs of the hub can be used unitary or to create fully customs pipelines.
You can use them for any kind of software and deployment type. Each job can be
customized through configuration.

* You can start using jobs from the hub: [Getting started](/getting-started/)
* You can contribute to the hub: [Contributing](/contributing/)

## Overview

![Go2Scale DevSecOps](images/go2scale_devsecops.png)
+11 −7
Original line number Diff line number Diff line
# Release notes
# Versioning

Pipelines and Jobs are versionned using git tag following this format: `YYYY-MM-DD_RELEASE`
Jobs are versioned using git tag following this format: `YYYY-MM-DD_RELEASE`.

!!! note
    `RELEASE` is a number started from 1

You can also use the latest version using `master` instead of a tag. Using
this, you will retrieve the latest version of jobs at each run.


Each jobs can be used independently with different version date.

Example in `.gitlab-ci.yml`:

```yaml
include:
  # Go2Scale DevSecOps
  - remote: https://gitlab.com/go2scale/jobs/raw/2020-02-28_1/jobs/quality_check.gitlab-ci.yml
  - remote: https://gitlab.com/go2scale/jobs/raw/2020-03-05_1/jobs/documentation.gitlab-ci.yml
  - remote: https://gitlab.com/go2scale/jobs/raw/2020-02-29_3/jobs/helm.gitlab-ci.yml
  - remote: https://gitlab.com/go2scale/jobs/-/raw/2020-02-28_1/Jobs/coala/coala.yml
  - remote: https://gitlab.com/go2scale/jobs/-/raw/2020-03-05_1/Jobs/mkdocs/mkdocs.yml
  - remote: https://gitlab.com/go2scale/jobs/-/raw/master/Jobs/helm/helm.yml
```

Release notes are described in each [pipelines](#pipelines) and [jobs](#jobs) dedicated sections.
Available tags and release note for each jobs are available in [Jobs
section](/Jobs/).