Skip to content

github-actions plugin

This plugin is used to create Github Workflows in your project.

Usage

YAML
tools:
# name of the tool
- name: github-actions
  # 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@github.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: github
    pipeline:
      # configLocation is the location of workflows, 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/github-actions/workflows/main.yml
      configLocation: https://raw.githubusercontent.com/devstream-io/devstream/main/staging/dtm-github-action-example/general
      # 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
      dingTalk:
        # dingtalk robot name
        name: YOUR_DINGTALK_ROBOT_NAME
        # dingtalk webhook
        webhook: https://oapi.dingtalk.com/robot/send?access_token=changemeByConfig
        # dingtalk securityType, we support "SECRET" and "KEY"
        securityType: YOUR_DINGTALK_SECRET_TYPE
        # dingtalk securityValue
        securityValue: YOUR_DINGTALK_SECRET_VALUE
      sonarqube:
        # sonarqube address
        url: http://sonar.example.com
        # sonarqube token
        token: YOUR_SONAR_TOKEN
        # sonarqube name in jenkins
        name: sonar_test

Notes:

  • scm config option represents codebase location; for more info, you can refer to SCM Config.
  • The pipeline config option controls CI stages; you can refer to Pipeline Config for more info.