如何使用我组织中另一个存储库的自定义 github 操作?

问题描述 投票:0回答:3

我正在按照 docker Github 操作 的示例来创建我自己的操作。我想将操作保留在我的组织中的私有存储库中,然后从同一组织下的另一个存储库中重复使用它。

文档指出 “当操作位于私有存储库中时,该操作只能在同一存储库中的工作流程中使用”但是,据我了解,它不涵盖此类操作在组织上下文中的行为方式 - 仅在独立的回购上下文中。我是否必须将其公开并投放到市场上,才能在我自己的私人组织中重复使用它?

有人有设置此类操作的经验吗?

building-github-actions
3个回答
2
投票

扩展@MujtabaMehdi的答案:复制实际上可以作为操作本身的一部分来完成:

      - 
        uses: actions/checkout@v3
        with:
          repository: your-org/your-action
          path: your-action
      - 
        uses: ./your-action

(这会污染当前文件夹。我最初尝试将操作签出到

/tmp/your-action
,但是
uses
只接受以
./
开头的路径。您仍然可以使用
./../your-action
将其放在父目录中,但是
 checkout
也不想在那里写任何东西-.-.)


1
投票

Github 引入了一个新的存储库共享选项,称为内部。 通过内部存储库,可以跨存储库共享操作。 请注意,只有某些类型的组织帐户有权使用此可见性选项。

https://dev.to/n3wt0n/finally-custom-github-actions-in-internal-repos-4l91


1
投票

我最近向 GitHub 市场发布了一个自定义操作, 您有两个选择:

  • 将您的自定义 GitHub 操作发布到市场,然后将其与任何您喜欢的存储库一起使用,但这将要求您公开您的代码
  • 第二个选项是将您创建的 GitHub 操作的所有内容(entrypoint.sh、dockerfile 和 action.yml)复制到您想要使用它的存储库,然后像这样使用它:
    uses: ./

如果这能解决您的问题,请告诉我,谢谢

© www.soinside.com 2019 - 2024. All rights reserved.