如何在GitHub工作流中从其他仓库导入PowerShell模块?
在GitHub Actions中导入其他仓库的PowerShell模块
有两种常用方法可以解决这个问题:
方法一:直接克隆目标仓库后导入模块
在调用模块函数的步骤前,先把存放cool-module.psm1的仓库克隆到GitHub Actions的运行环境中,再指定路径导入模块:
- name: 克隆cool-module所在仓库 uses: actions/checkout@v4 with: repository: 你的用户名/目标仓库名 ref: main # 替换成模块所在的分支,比如main、dev path: ./cool-module # 指定克隆到当前工作目录下的cool-module文件夹 - name: 使用cool-module中的函数 shell: pwsh run: | Import-Module ./cool-module/cool-module.psm1 FunctionFromCoolModule -param1 coolparameter
方法二:将模块发布到PowerShell Gallery后安装导入
如果模块可以公开或内部共享,先把cool-module.psm1打包成标准PowerShell模块(需要配套创建模块清单文件.psd1),发布到PowerShell Gallery,之后在工作流中直接安装导入:
- name: 安装并导入cool-module shell: pwsh run: | # 如果是公开模块,直接安装 Install-Module -Name cool-module -Force -Scope CurrentUser Import-Module cool-module FunctionFromCoolModule -param1 coolparameter
如果是私有模块,需要在GitHub仓库的Secrets中添加PowerShell Gallery的API密钥,安装时通过-ApiKey参数传入,同时指定私有仓库地址。
内容的提问来源于stack exchange,提问作者Sirius
相关产品推荐
相关产品推荐

