gitlab-ci Plugin
This plugin creates GitLab CI workflow.
It downloads a template of your choice, renders it with provided parameters, and creates a GitLab CI file for your repo.
Usage
The following content is an example of the “tool file”.
For more information on the main config, the tool file, and the var file of DevStream, see Core Concepts Overview and DevStream Configuration.
Plugin config example:
YAML
tools:
# name of the tool
- name: gitlab-ci
# id of the tool instance
instanceID: default
# format: name.instanceID; If specified, dtm will make sure the dependency is applied first before handling this tool.
dependsOn: [ ]
# options for the plugin
options:
scm:
# scm common field
branch: YOUR_REPO_BRANCH
token: YOUR_REPO_SCM_TOKEN
# you can directly use the url of repo (git@gitlab.com/root/test-exmaple.git for example)
url: YOUR_REPO_URL
# or you can config detailed fields for this repo
owner: YOUR_REPO_OWNER
org: YOUR_REPO_ORG
name: YOUR_REPO_NAME
scmType: gitlab
# you can config this field if you are using self-host gitlab
baseURL: YOUR_SELF_HOST_GITLAB_URL
pipeline:
# configLocation is the location of gitlab ci file, it can be remote or local address,
# if you don't config this field, devstream will use https://raw.githubusercontent.com/devstream-io/dtm-pipeline-templates/main/gitlab-ci/.gitlab-ci.yml
configLocation: .gitlabci.yml
# language config is required
language:
framework: # support gin/flask/spring for now
name: LANGUAGE # support go/java/nodejs/python for now
imageRepo:
# image repo URL for pulling/pushing
url: http://harbor.example.com:80
# image repo user name
user: admin
# image repo password
password: YOUR_IMAGE_REPO_PASSWORD
# whether create gitlab runner for this project
# if runner.enable is true, devstream will use helm to install the project's runner
# and diable shared runner of this project
runner:
enable: false
Notes:
scm
config option represents codebase location; for more info, you can refer to SCM Config.- The
pipeline
config option controlsCI
stages; you can refer to Pipeline Config for more info.