我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

Sharing workflows with your organization

Learn how you can use organization features to collaborate with your team, by sharing workflow templates, secrets, and self-hosted runners.

本文内容

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。

概览

If you need to share workflows and other GitHub Actions features with your team, then consider collaborating within a GitHub organization. An organization allows you to centrally store and and manage secrets, artifacts, and self-hosted runners. You can also create workflow templates in the .github repository and share them with other users in your organization.

创建工作流程模板

对组织的 .github 仓库具有写入权限的用户可以创建工作流程模板。 然后,有权限创建工作流程的组织成员便可使用这些模板。 工作流程模板可用于在组织的公共仓库中创建新的工作流程;要使用模板在私有仓库中创建工作流程,该组织必须是企业或 GitHub One 计划的一部分。

此过程展示如何创建工作流程模板和元数据文件。 元数据文件描述在用户新建工作流程时如何向其显示模板。

  1. 如果组织中没有名为 .github 的公共仓库,请新建一个。

  2. 创建一个名为 workflow-templates 的目录。

  3. workflow-templates 目录中创建新的工作流程文件。

    如果需要引用仓库的默认分支,可以使用 $default-branch 占位符。 使用模板创建工作流程时,占位符将自动替换为仓库默认分支的名称。

    例如,下面这个名为 octo-organization-ci.yml 的文件展示了一个基本的工作流程。

    name: Octo Organization CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@v2
    
        - name: Run a one-line script
          run: echo Hello from Octo Organization
    
  4. workflow-templates 目录中创建元数据文件。 元数据文件必须与工作流程文件同名,但扩展名不是 .yml,而必须附加 .properties.json。 例如,下面这个名为 octo-organization-ci.properties.json 的文件包含名为 octo-organization-ci.yml 的工作流程文件的元数据:

    {
        "name": "Octo Organization Workflow",
        "description": "Octo Organization CI workflow template.",
        "iconName": "example-icon",
        "categories": [
            "Go"
        ],
        "filePatterns": [
            "package.json$",
            "^Dockerfile",
            ".*\\.md$"
        ]
    }
    
    • name - 必要。工作流程模板的名称。 这会显示在可用模板列表中。
    • description - 必要。工作流程模板的描述。 这会显示在可用模板列表中。
    • iconName - 必要。定义模板列表中工作流程项目的图标。 iconName 必须是同名的 SVG 图标,且必须存储在 workflow-templates 目录中。 例如,名为 example-icon.svg 的 SVG 文件被引用为 example-icon
    • categories - 可选。定义工作流程的语言类别。 当用户查看可用模板时,匹配相同语言的模板将更加突出。 有关可用语言类别的信息,请参阅https://github.com/github/linguist/blob/master/lib/linguist/languages.yml。
    • filePatterns - 可选。如果用户仓库在其根目录中有符合定义的正则表达式的文件,则允许使用模板。

要添加另一个工作流模板,请将您的文件添加到同一 workflow-templates 目录中。 例如:

工作流程模板文件

使用工作流程模板

此程序展示组织成员如何查找并使用工作流程模板来创建新的工作流程。 只要是组织成员,都可以使用组织的工作流程模板。

  1. 在 GitHub 上,导航到仓库的主页面。
  2. 在仓库名称下,单击 Actions(操作)
    主仓库导航中的操作选项卡
  3. 如果您的仓库已经有工作流程:在左上角单击 New workflow(新工作流程)
    创建新工作流程
  4. 组织的工作流程模板位于其自己名为“组织名称创建的工作流程”的区域中。 在您想要使用的模板名称下,单击 Set up this workflow(设置此工作流程)
    设置此工作流程

Sharing secrets within an organization

You can centrally manage your secrets within an organization, and then make them available to selected repositories. This also means that you can update a secret in one location, and have the change apply to all repository workflows that use the secret.

在组织中创建密码时,可以使用策略来限制可以访问该密码的仓库。 例如,您可以将访问权限授予所有仓库,也可以限制仅私有仓库或指定的仓库列表拥有访问权限。

要在组织级别创建密码,必须具有管理员访问权限。

  1. 在 GitHub 上,导航到组织的主页面。
  2. 在组织名称下,单击 Settings(设置)
    组织设置按钮
  3. 在左侧边栏中,单击 Secrets(密码)
  4. 单击 New secret(新建密码)
  5. Name(名称)输入框中键入密码的名称。
  6. 输入密码的 Value(值)
  7. Repository access(仓库访问权限)下拉列表,选择访问策略。
  8. 单击 Add secret(添加密码)

Share self-hosted runners within an organization

Organization admins can add their self-hosted runners to groups, and then create policies that control which repositories can access the group.

更多信息请参阅“使用组管理对自托管运行器的访问”。

后续步骤

To continue learning about GitHub Actions, see "Security hardening for GitHub Actions."

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。