refactor(docs): pages dir renamed to docs
as the contents are docs, renamed to make obvious !26
This commit is contained in:
5
docs/CHANGELOG.md
Normal file
5
docs/CHANGELOG.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
2023-05-14 15:50:23 +0930 [a925db1](https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/commit/a925db14641e709572b832278f43aabe48d153f7) - docs(yaml_lint): update docs for new variables
|
||||
2023-05-14 15:45:30 +0930 [8581981](https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/commit/8581981a43c31d6903865f067fa3f77adae949e5) - fix(markdown_lint): fix search paths
|
||||
2023-05-13 15:35:28 +0930 [408e4ea](https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/commit/408e4eab9e1f61004f1e38af6d1531747b7da99b) - refactor: move docs as part of restructure
|
||||
0
docs/articles/index.md
Normal file
0
docs/articles/index.md
Normal file
0
docs/contact.md
Normal file
0
docs/contact.md
Normal file
0
docs/index.md
Normal file
0
docs/index.md
Normal file
0
docs/operations/index.md
Normal file
0
docs/operations/index.md
Normal file
0
docs/projects/ansible-roles/index.md
Normal file
0
docs/projects/ansible-roles/index.md
Normal file
123
docs/projects/gitlab-ci/conventional_commits.md
Normal file
123
docs/projects/gitlab-ci/conventional_commits.md
Normal file
@ -0,0 +1,123 @@
|
||||
---
|
||||
title: Conventional Commits
|
||||
description: How to use No Fuss Computings gitlab-ci job for Conventional Commits
|
||||
date: 2021-08-03
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
## User Manual
|
||||
|
||||
Commitizen is used to validate the format of commit messages. we use [Conventional Commit Messages](https://www.conventionalcommits.org/en/v1.0.0/) format for our validation jobs.
|
||||
|
||||
This repository may have two CI jobs to do with commitizen:
|
||||
|
||||
- **MR Title** *Checks the Merge Request Title*
|
||||
|
||||
- **Commit Messages** *Checks all commit messages*
|
||||
|
||||
These CI Jobs output a test report that can be viewed inside of the merge request and contain the error(s), if any.
|
||||
|
||||
To fix an error please refer to the titled sections below.
|
||||
|
||||
|
||||
### MR Title
|
||||
|
||||
Ensure that the merge request title is in the [conventional message](https://www.conventionalcommits.org/en/v1.0.0/) format. NOTE: the title is case sensitive.
|
||||
|
||||
|
||||
### Commit Messages
|
||||
|
||||
All commit messages that form part of your merge request must be in [conventional message](https://www.conventionalcommits.org/en/v1.0.0/) format.
|
||||
|
||||
To fix them go back and edit your commit messages.
|
||||
|
||||
|
||||
#### fixing commit messages (suggestion)
|
||||
|
||||
If only the last commit is the commit with an error just use `git commit --amend` and edit your commit message to be in the correct format and save. now push your changes.
|
||||
|
||||
You will require the following information if the commit message with the error is further down the commit tree:
|
||||
|
||||
- Commit message SHA1 of your first commit message to the branch `{original_commit}`
|
||||
|
||||
- Commit message SHA1 prior to your first commit `{source_commit}`
|
||||
|
||||
Run these commands once you have the information above.
|
||||
|
||||
``` bash
|
||||
|
||||
git format-patch {original_commit}..HEAD -o diff-patches
|
||||
|
||||
git reset {source_commit} --hard
|
||||
|
||||
```
|
||||
|
||||
Now, navigate to the `diff-patches` folder, open up the offending patch (commit) and edit the `subject` or message body as appropriate and save. Once all the edits have been done, re-apply the patches to your tree with:
|
||||
|
||||
``` bash
|
||||
|
||||
git am diff-patches/*.patch
|
||||
|
||||
```
|
||||
|
||||
Now push your changes upstream.
|
||||
|
||||
| :notebook_with_decorative_cover: Note |
|
||||
|:-----:|
|
||||
| *As you have changed the commit SHA1(s), when you next push your changes upstream, you must force push. `git push --force`* |
|
||||
|
||||
| :octagonal_sign: **WARNING** |
|
||||
|:-----:|
|
||||
| *Ensure that all of your commits were exported prior to reseting the branch and when re-applying, that all of your commits were applied correctly* |
|
||||
|
||||
|
||||
## Conventional Commits Admin Manual Manual
|
||||
|
||||
This job checks commit messages on a branch and the merge request title for validity against the [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/)
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- None
|
||||
|
||||
|
||||
### Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
### your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
MY_PROJECT_ID: "{yourproject id number}"
|
||||
|
||||
stages:
|
||||
- validation
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/development/conventional_commits/.gitlab-ci.yml
|
||||
|
||||
```
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| MR_ACCESS_TOKEN | *only required if you are accessing a private repository.* <br>This token is a user access token that as a minimum requires read-only access to the api to fetch the projects merg requests. |
|
||||
|
||||
In addition to the required variables above, the commitizen config file `.cz.yaml` must exist for the job to run.
|
||||
|
||||
|
||||
### Job Workflow
|
||||
|
||||
|
||||
### Artifacts
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
77
docs/projects/gitlab-ci/git_mirror.md
Normal file
77
docs/projects/gitlab-ci/git_mirror.md
Normal file
@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Git push mirror
|
||||
description: How to use No Fuss Computings gitlab-ci job for repository mirrororing
|
||||
date: 2021-08-03
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
This job does a git push to a remote git repo.
|
||||
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- sync
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/development/git_push_mirror/.gitlab-ci.yml
|
||||
|
||||
Github (Push --mirror):
|
||||
variables:
|
||||
GIT_SYNC_URL: "https://${username variable}:${pasword variable}@github.com/NoFussComputing/gitlab-ci.git"
|
||||
extends:
|
||||
- .git_push_mirror
|
||||
|
||||
```
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| GIT_SYNC_URL | this is the remote git repositories https clone address. <br>***Note:** if the remote repository requires authentication, you will need to build the url. like above.* |
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
- This job is designed to run on successful completion of the validation tasks and only on the `development` and `master` branches. You can safely override the `rules` when creating the job with your own. i.e.
|
||||
|
||||
``` yaml
|
||||
|
||||
Github (Push --mirror):
|
||||
variables:
|
||||
GIT_SYNC_URL: "https://${username variable}:${pasword variable}@github.com/NoFussComputing/gitlab-ci.git"
|
||||
extends:
|
||||
- .git_push_mirror
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == "master"'
|
||||
when: never
|
||||
- if: '$CI_COMMIT_BRANCH == "development"'
|
||||
when: always
|
||||
|
||||
```
|
||||
|
||||
This will cause the job to only run on the `development` branch.
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- None
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
144
docs/projects/gitlab-ci/gitlab_release.md
Normal file
144
docs/projects/gitlab-ci/gitlab_release.md
Normal file
@ -0,0 +1,144 @@
|
||||
---
|
||||
title: Gitlab Release / Commit Footer References
|
||||
description: How to use No Fuss Computings gitlab-ci job for Gitlab Releases and commit footer messages
|
||||
date: 2021-08-03
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
|
||||
## User Manual
|
||||
|
||||
All commit messages must be in [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/) and have a footer with a gitlab reference. The reference **must** be either a merge request or a gitlab issue. (format i.e. `!1` or `#2` *using the correct reference number*).
|
||||
|
||||
|
||||
### fixing commit messages (suggestion)
|
||||
|
||||
If only the last commit is the commit with an error just use `git commit --amend` and edit your commit message to be in the correct format and save. now push your changes.
|
||||
|
||||
|
||||
You will require the following information if the commit message with the error is further down the commit tree:
|
||||
|
||||
- Commit message SHA1 of your first commit message to the branch `{original_commit}`
|
||||
|
||||
- Commit message SHA1 prior to your first commit `{source_commit}`
|
||||
|
||||
Run these commands once you have the information above.
|
||||
|
||||
``` bash
|
||||
|
||||
git format-patch {original_commit}..HEAD -o diff-patches
|
||||
|
||||
git reset {source_commit} --hard
|
||||
|
||||
```
|
||||
|
||||
Now, navigate to the `diff-patches` folder, open up the offending patch (commit) and edit the `subject` or message body as appropriate and save. Once all the edits have been done, re-apply the patches to your tree with:
|
||||
|
||||
``` bash
|
||||
|
||||
git am diff-patches/*.patch
|
||||
|
||||
```
|
||||
|
||||
Now push your changes upstream.
|
||||
|
||||
| :notebook_with_decorative_cover: Note |
|
||||
|:-----:|
|
||||
| *As you have changed the commit SHA1(s), when you next push your changes upstream, you must force push. `git push --force`* |
|
||||
|
||||
| :octagonal_sign: **WARNING** |
|
||||
|:-----:|
|
||||
| *Ensure that all of your commits were exported prior to reseting the branch and when re-applying, that all of your commits were applied correctly* |
|
||||
|
||||
|
||||
## Gitlab Release - Developer Manual
|
||||
|
||||
This job bumps the version, updates the changelog, creates a git tag and creates a gitlab release. The git tag and release title use [semantic versioning](https://semver.org/). for this job to function correctly a `.cz.yaml` is required in the root of the repository. this file contains the [commitizen](https://github.com/commitizen-tools/commitizen) config and the version details.
|
||||
|
||||
This job has the following workflow:
|
||||
|
||||
- `master` Branch
|
||||
> Automatically increment the version
|
||||
|
||||
- `development` Branch
|
||||
> Manual CI job made available to increment the version. (release-candidate increment only)
|
||||
|
||||
| :octagonal_sign: Danger |
|
||||
|:----|
|
||||
| *If prior to merging to the master branch you do a version increment, and there are no commits prior to merging. the job will not increment the version and the job will fail. it is recommended that you only do a version increment on the `development` branch if you are going to commit further changes to the `development` branch* |
|
||||
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- None
|
||||
|
||||
|
||||
### Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
### your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
CI Job `ci commit footer` is automatically set to run on all branches except `development` and `master`. This job checks the commits on the users branch that they contain a footer with gitlab references. i.e. `#1` for issue one or `!1` for merge request one.
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- validate
|
||||
- release
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/development/gitlab_release/.gitlab-ci.yml
|
||||
|
||||
Gitlab Release:
|
||||
variables:
|
||||
MY_COMMAND: "{your command here}"
|
||||
extends:
|
||||
- .gitlab_release
|
||||
|
||||
```
|
||||
|
||||
> if you wish to run any commands you can add them to variable `MY_COMMAND`. The custom command will run under shell `/bin/sh`. This command is set to run before the version bump commit is conducted so any changes you wish to add as part of the version bump, you can do here as long as you `git add {changed file name}`.
|
||||
|
||||
|
||||
### CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| GIT_COMMIT_TOKEN | *this must be a personal token that has write access to the repository* |
|
||||
| CHANGELOG_FOOTER_REFERENCES | ***Optional** If set to `False` the changelog will not output gitlab references for each entry of the changelog. If this variable is set globally, it will also prevent the creation of the CI job to validate a users commits as having gitlab references.* |
|
||||
|
||||
|
||||
### Job Workflow
|
||||
|
||||
This CI job's workflow is:
|
||||
|
||||
1. updates the changelog from the commits
|
||||
|
||||
1. commit the changelog to git
|
||||
|
||||
1. adds a `git tag` to the changelog commit.
|
||||
|
||||
1. pushes the change back to the repo
|
||||
|
||||
1. creates a git release from the `git tag`
|
||||
|
||||
| :octagonal_sign: **NOTE** |
|
||||
|:----|
|
||||
| *If the user has forked the branch, they must keep the development brnach synced with the main repo. If they **don't** the CI job 'commit footer refs' will fail as it will not be able to fetch the parent (`development`) hash of the branch.* |
|
||||
|
||||
|
||||
### Artifacts
|
||||
|
||||
- `ci commit footer`
|
||||
> $CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$CI_JOB_NAME.junit.xml
|
||||
|
||||
- `Gitlab Release`
|
||||
> None
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
107
docs/projects/gitlab-ci/index.md
Normal file
107
docs/projects/gitlab-ci/index.md
Normal file
@ -0,0 +1,107 @@
|
||||
---
|
||||
title: No Fuss Computings Gitlab-CI Project
|
||||
description: How to use No Fuss Computings gitlab-ci project within your CI/CD pipelines
|
||||
date: 2023-05-22
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
|
||||
|
||||
## Docs ToDo
|
||||
|
||||
- Templates folder is for `gitlab-ci.yaml` that automagically create the jobs if included
|
||||
|
||||
- other sub folders are for `` which **DO NOT** automagically create jobs, but are pure definitions only.
|
||||
|
||||
|
||||
## CI Stages
|
||||
|
||||
The CI stages for these jobs are as follows, and in the order expected by the jobs:
|
||||
|
||||
- validation
|
||||
> validation of files, commits, Merge Request titles, code quality, license checks.
|
||||
|
||||
- build
|
||||
> build any binaries or files that would be used in the later stages .
|
||||
|
||||
- prepare
|
||||
> any jobs that must run after build but before testing. for example a docker image build that includes artifacts from the build job
|
||||
|
||||
- test
|
||||
> unit, functional, integration and any other tests.
|
||||
|
||||
- release
|
||||
> git tagging and creating a gitlab release. Also includes adding build artifacts to gitlab registry.
|
||||
|
||||
- sync
|
||||
> repository synchronization, i.e. push mirror to github.
|
||||
|
||||
- publish
|
||||
> placement of build objects to external sources
|
||||
|
||||
|
||||
## Git Sub-Module setup
|
||||
|
||||
It is recommended that you set-up this repo as a git sub-module to your repo and that you configure it to a set commit/tag. This ensures that any change to `gitlab-ci` repo, does not effect your CI/CD jobs.
|
||||
|
||||
run the following commands:
|
||||
|
||||
``` bash
|
||||
|
||||
git submodule add -b {ref} https://gitlab.com/nofusscomputing/projects/gitlab-ci.git gitlab-ci
|
||||
git submodule update --remote
|
||||
|
||||
```
|
||||
|
||||
!!! Tip
|
||||
NOTE: `{ref}` should be replaced with the branch name, `master` is the stable branch and recommended. by default the sub-module will be created in folder `gitlab-ci`, it is recommended that you **don't** change this folder name.
|
||||
|
||||
You can also substitute the gitlab url with the github url `https://github.com/NoFussComputing/gitlab-ci.git` for the submodule if you desire. this repo is auto-synced with github on each change to the repo.
|
||||
|
||||
After each `git submodule update --remote` you will have to commit the sub-module update to your repo. Suggested commands as follows:
|
||||
|
||||
``` bash
|
||||
|
||||
git add .gitmodules
|
||||
|
||||
git add gitlab-ci
|
||||
|
||||
git commit -m "ci(gitlab-ci): updated to use version x
|
||||
|
||||
{your reason here or explain what is provided/changed}"
|
||||
|
||||
```
|
||||
|
||||
Then push the changes to your source.
|
||||
|
||||
|
||||
## .gitlab-ci.yaml example
|
||||
|
||||
example:
|
||||
|
||||
``` yaml
|
||||
|
||||
include:
|
||||
- project: nofusscomputing/projects/gitlab-ci
|
||||
ref: master
|
||||
file:
|
||||
- .gitlab-ci_common.yaml
|
||||
- $JOB_ROOT_DIR/{filepath to include here and is relative to the gitlab-ci repo root}
|
||||
|
||||
variables:
|
||||
MY_PROJECT_ID: "{your_project_id}"
|
||||
|
||||
```
|
||||
|
||||
!!! Tip
|
||||
Use a project import in your `.gitlab-ci.yml` file that is tied to a specific `ref`. for example a branch, commit or tag. Also ensure that the `gitlab-ci` `git sub-module` and the `ref` as part of the includes matches.*
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
Any artifacts by jobs will be created in folders named after the stage.
|
||||
|
||||
preference is placed on jobs to output JUnit.xml test reports. This is because they are visible in merge requests.
|
||||
63
docs/projects/gitlab-ci/markdown_lint.md
Normal file
63
docs/projects/gitlab-ci/markdown_lint.md
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
title: Markdown File Linting
|
||||
description: How to use No Fuss Computings gitlab-ci job for markdown linting
|
||||
date: 2021-08-11
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
This job lints markdown files as part of the validation CI stage. It is designated to run on all branches. If any errors are found, the generated JUnit test report will let you know what errors were found.
|
||||
|
||||
You can include your linting rules in `.markdownlint.json` which should be within the root of your repository. for the available rules please see the [docs](https://github.com/DavidAnson/markdownlint/blob/main/README.md#rules--aliases).
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- _None_
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **Optional** file `.markdownlint.json` in repository root with any rules you wish to specify
|
||||
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- validation
|
||||
|
||||
include:
|
||||
- local: CI/validation/.gitlab-ci.yml
|
||||
|
||||
Markdown Linting:
|
||||
extends:
|
||||
- .Lint_Markdown
|
||||
|
||||
```
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| MDLINT_PATH | **Optional** specifies the path to lint. defaults to `"**/*.md"` |
|
||||
| MDLINT_EXCLUDE_PATHS | **optional** Specifies the paths to exclude from linting. Defaults to `"!gitlab-ci"` |
|
||||
| MD_LINT_CONFIG-PATH | **Optional** Specifies a path whenre the lint config file is. defaults to none. this variable enables you to specify a config that will be copied to the project root folder. ***Note:** if specified, the file will be deleted at the end of the linting job.*
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
1. installs the required job dependencies
|
||||
|
||||
1. Lints any markdow file found in `$MDLINT_PATH`, excluding paths `$MDLINT_EXCLUDE_PATHS`
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- JUnit test report located at `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/*.junit.xml`
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
70
docs/projects/gitlab-ci/mkdocs-build.md
Normal file
70
docs/projects/gitlab-ci/mkdocs-build.md
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
title: MKDocs Static Site Build
|
||||
description: How to use No Fuss Computings gitlab-ci job for MKDocs Static Site Build
|
||||
date: 2021-08-11
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
|
||||
Build a MKDocs site from the config specified in `mkdocs.yml`. _Only runs if `mkdocs.yml` exists in the repository root directory._ This job is designated to run on all branchs so that you can use the artifacts for deployment to `staging` and/or `production` as required.
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- _None_
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **Mandatory** file `mkdocs.yml` in the repository root directory with your MKDocs configuration
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
include:
|
||||
- local: CI/build/.gitlab-ci.yml
|
||||
|
||||
MKDocs build:
|
||||
variables:
|
||||
MKDOCS_BUILD_PATH: "build"
|
||||
extends:
|
||||
- .MKDocs_Build
|
||||
|
||||
```
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| MKDOCS_BUILD_PATH | **Mandatory, if different from default** The path where MKDocs places the build files. Defaults to `build` |
|
||||
| MKDOCS_INCLUDE_SOURCE | **Optional** Include the build source files in the artifacts. Default is Not set. Any value in this variable, will include the source files. |
|
||||
| MKDOCS_SOURCE_PATH | **Optional, if source files are not to be included** Set to the path where mkdocs uses to build the static html. |
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
1. install mkdocs
|
||||
|
||||
1. if file `requirements.txt` exists in the repository root directory, use this fill to also install additional dependencies.
|
||||
|
||||
1. if no `requirements.txt` file exists, only install mkdocs.
|
||||
|
||||
1. run mkdocs to build the static pages
|
||||
|
||||
1. if variable `$MKDOCS_INCLUDE_SOURCE` is set, then copy `$MKDOCS_SOURCE_PATH` to the artifacts location.
|
||||
|
||||
1. copy directory `$MKDOCS_BUILD_PATH` to the artifacts location.
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- files in `"$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME"`
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
109
docs/projects/gitlab-ci/python.md
Normal file
109
docs/projects/gitlab-ci/python.md
Normal file
@ -0,0 +1,109 @@
|
||||
---
|
||||
title: Python
|
||||
description: How to use No Fuss Computings gitlab-ci job for Python
|
||||
date: 2021-08-11
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
|
||||
This folder (`python`) covers jobs for python development
|
||||
|
||||
|
||||
These jobs provides the following badge:
|
||||
|
||||
- `PyLint` - code quality [](https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/jobs/artifacts/development/file/artifacts/validation/tests/gl-code-quality-report.html?job=PyLint)
|
||||
|
||||
Use the following MD to add a badge adjusting the variables and ensuring everything is on one line.
|
||||
|
||||
``` md
|
||||
|
||||
[](https://gitlab.com/
|
||||
|
||||
{project path}
|
||||
|
||||
/-/jobs/artifacts/
|
||||
|
||||
{branch}
|
||||
|
||||
/file/
|
||||
|
||||
artifacts/validation/tests/gl-code-quality-report.html
|
||||
|
||||
?job=
|
||||
|
||||
{Job Name}
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
| Variable | Description |
|
||||
|:----|:----|
|
||||
| `{project path}` | *project path, what's after gitlab.com/* |
|
||||
| `{branch}` | *git branch to fetch the score from* |
|
||||
| `{Job Name}` | *name of the gitlab-ci job for the linting* |
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To add the `PyLint` job, add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- validation
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/master/python/.gitlab-ci.yml
|
||||
|
||||
PyLint:
|
||||
variables:
|
||||
PYLINT_PATH: "/*/*.py"
|
||||
PYLINT_RC_PATH: "."
|
||||
extends:
|
||||
- .PyLint
|
||||
image: python:3.6-slim
|
||||
|
||||
```
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| PYLINT_PATH | *The path you wish the linter to search for python files* |
|
||||
| PYLINT_RC_PATH | *The path to your `.pylintrc` file.* |
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
- This job will lint any yaml file in the specified directory using the specified rules.
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts` - Root artifact directory
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.json` - Gitlab code quality report (displays in merge request)
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/gl-code-quality-report.html` - html code quality report
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
64
docs/projects/gitlab-ci/templates/ansible_roles.md
Normal file
64
docs/projects/gitlab-ci/templates/ansible_roles.md
Normal file
@ -0,0 +1,64 @@
|
||||
---
|
||||
title: Ansible
|
||||
description: How to use No Fuss Computings gitlab-ci job for ansible
|
||||
date: 2021-08-03
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
This job does ansible role/playbook linting when any commit is pushed to any branch.
|
||||
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- validation
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/development/ansible/.gitlab-ci.yml
|
||||
|
||||
Ansible Lint (python 3.6):
|
||||
variables:
|
||||
ANSIBLE_LINT_PATH: "roles/"
|
||||
extends:
|
||||
- .ansible_linter_defaults
|
||||
image: python:3.6-slim
|
||||
|
||||
```
|
||||
|
||||
> You can use any python version you wish.
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| ANSIBLE_LINT_PATH | *The path you wish the linter to search for ansible roles/playbooks* |
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
- This job will lint any yml file in the specified directory using ansible rules.
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts` - Root artifact directory
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$PYTHON_VERSION-ansible-lint.junit.xml` - JUnit Test report
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-ansible-lint.log` - Linter log
|
||||
35
docs/projects/gitlab-ci/templates/docker_container.md
Normal file
35
docs/projects/gitlab-ci/templates/docker_container.md
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Docker Container CI Template
|
||||
description: How to use No Fuss Computings gitlab-ci template for docker containers
|
||||
date: 2023-05-13
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
- available tags `dev` for latest dev build
|
||||
|
||||
- latest matches latest git tag
|
||||
|
||||
|
||||
- notate available platforms can be viewed in the job
|
||||
|
||||
``` yaml
|
||||
|
||||
# Available platforms: linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
|
||||
# DOCKER_IMAGE_BUILD_TARGET_PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7"
|
||||
DOCKER_IMAGE_BUILD_NAME: $CI_PROJECT_NAME
|
||||
DOCKER_IMAGE_BUILD_REGISTRY: $CI_REGISTRY_IMAGE
|
||||
DOCKER_IMAGE_BUILD_TAG: $CI_COMMIT_SHA
|
||||
|
||||
# DOCKER_IMAGE_PUBLISH_NAME: $CI_PROJECT_NAME
|
||||
# DOCKER_IMAGE_PUBLISH_REGISTRY: docker.io/nofusscomputing
|
||||
# DOCKER_IMAGE_PUBLISH_URL: https://hub.docker.com/r/nofusscomputing/$DOCKER_IMAGE_PUBLISH_NAME
|
||||
# JOB_STOP_CONVENTIONAL_COMMITS: 'any_value'
|
||||
# JOB_STOP_GIT_PUSH_MIRROR: 'any_value'
|
||||
# GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/config.git" # Must be defined for job to run
|
||||
# JOB_STOP_GITLAB_RELEASE: 'any value'
|
||||
|
||||
```
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
18
docs/projects/gitlab-ci/templates/index.md
Normal file
18
docs/projects/gitlab-ci/templates/index.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Gitlab-CI Job Templates
|
||||
description: How to use No Fuss Computings gitlab-ci project within your CI/CD pipelines
|
||||
date: 2023-05-22
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
As part of our Gitlab CI job definitions we also have gitlab-ci.yaml templates that are specifically designed for inclusion and will automagically add the required jobs.
|
||||
|
||||
## Docs ToDo
|
||||
|
||||
- all templates are in the template folder.
|
||||
|
||||
- explain `.gitlab-ci_common.yaml` is for inclusion by all, _suggested._ and will never create jobs, only specify defaults. is also included in all templates
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
15
docs/projects/gitlab-ci/templates/website.md
Normal file
15
docs/projects/gitlab-ci/templates/website.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Website Gitlab CI/CD Template
|
||||
description: How to use No Fuss Computings gitlab-ci template for website jobs
|
||||
date: 2023-05-22
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
This template creates the jobs applicable to publishing pages to a website. The website in question is a static site built by MKDocs.
|
||||
|
||||
!!! Note
|
||||
This template is specifically designed for deployment to https://nofusscomputing.com. However you _may_ be able to override the job definition to use it for your website.
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
69
docs/projects/gitlab-ci/yaml_lint.md
Normal file
69
docs/projects/gitlab-ci/yaml_lint.md
Normal file
@ -0,0 +1,69 @@
|
||||
---
|
||||
title: YAML Linting
|
||||
description: How to use No Fuss Computings gitlab-ci job for YAML Linting
|
||||
date: 2021-08-11
|
||||
template: project.html
|
||||
about: https://gitlab.com/nofusscomputing/projects/gitlab-ci
|
||||
---
|
||||
|
||||
This job does yaml linting when any commit is pushed to any branch.
|
||||
|
||||
This job provides the following badge:
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## Dependencies
|
||||
|
||||
- None
|
||||
|
||||
|
||||
## your .gitlab-ci.yml changes
|
||||
|
||||
To use this job add the following to your `.gitlab-ci.yml` file
|
||||
|
||||
``` yaml
|
||||
|
||||
stages:
|
||||
- validation
|
||||
|
||||
include:
|
||||
- remote: https://gitlab.com/nofusscomputing/projects/gitlab-ci/-/raw/master/yaml_lint/.gitlab-ci.yml
|
||||
|
||||
Yaml Lint (python 3.6):
|
||||
variables:
|
||||
YAML_LINT_PATH: "."
|
||||
YAML_LINT_EXTRA_ARGS: "{ extends: $ROOT_DIR/yaml_lint/.yamllint.yaml, ignore: [gitlab-ci/*] }"
|
||||
extends:
|
||||
- .yaml_linter_defaults
|
||||
image: python:3.6-slim
|
||||
|
||||
```
|
||||
|
||||
> You can use any python version you wish.
|
||||
|
||||
|
||||
## CI/CD Variables required
|
||||
|
||||
| var name | Description |
|
||||
|:----:|:----|
|
||||
| YAML_LINT_PATH | *The path you wish the linter to search for yaml files, defaults to `.`* |
|
||||
| YAML_LINT_EXTRA_ARGS | *configuration in yaml format., defaults to `{ extends: $ROOT_DIR/yaml_lint/.yamllint.yaml, ignore: [gitlab-ci/*] }` for further info see the [YAML Lint docs](https://yamllint.readthedocs.io/en/stable/configuration.html?highlight=exclude#custom-configuration-without-a-config-file)* |
|
||||
|
||||
|
||||
## Job Workflow
|
||||
|
||||
- This job will lint any yaml file in the specified directory using the specified rules.
|
||||
|
||||
|
||||
## Artifacts
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts` - Root artifact directory
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/tests/$PYTHON_VERSION-yaml-lint.junit.xml` - JUnit Test report
|
||||
|
||||
- `$CI_PROJECT_DIR/artifacts/$CI_JOB_STAGE/$CI_JOB_NAME/$PYTHON_VERSION-yaml-lint.log` - Linter log
|
||||
|
||||
|
||||
!!! Note
|
||||
Docs Still under development
|
||||
0
docs/projects/index.md
Normal file
0
docs/projects/index.md
Normal file
0
docs/tags.md
Normal file
0
docs/tags.md
Normal file
Reference in New Issue
Block a user