跳转至

github-actions 插件

该插件用于在项目中创建 Github Action Workflows。

用例

下面的内容是一个示例配置文件用于创建 Github Workflows:

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

注意:

  • scm 配置字段用于表示代码仓库的配置信息,具体配置可查看SCM配置项
  • pipeline 选项项用于控制 CI 流程中的各个阶段,具体配置可查看文档pipline配置项