Powershell 无法为Gitlab CI/CD管道设置执行策略
我已经创建了一个Amazon Alexa技能,还添加了ask cli支持。当我试图使用ask cli部署它时,出现了一个错误,即Powershell 无法为Gitlab CI/CD管道设置执行策略,powershell,gitlab-ci,gitlab-ci-runner,executionpolicy,ask-cli,Powershell,Gitlab Ci,Gitlab Ci Runner,Executionpolicy,Ask Cli,我已经创建了一个Amazon Alexa技能,还添加了ask cli支持。当我试图使用ask cli部署它时,出现了一个错误,即 /bin/sh:1:hooks/pre\u deploy\u hook.sh:权限被拒绝 [错误]:挂钩脚本失败 然后,我以管理员身份打开了Powershell并运行以下命令: 设置执行策略不受限制 之后,我成功地从我的系统中部署了技能。然后我在gitlab上传了我的项目,并希望在主分支中发生提交时从gitlab CI/CD部署它。但是它显示了相同的钩子脚本错误。然后
/bin/sh:1:hooks/pre\u deploy\u hook.sh:权限被拒绝
[错误]:挂钩脚本失败
然后,我以管理员身份打开了Powershell并运行以下命令:
设置执行策略不受限制
之后,我成功地从我的系统中部署了技能。然后我在gitlab上传了我的项目,并希望在主分支中发生提交时从gitlab CI/CD部署它。但是它显示了相同的钩子脚本错误。然后,我更改了我的.gitlab ci.yml文件,只是为了更改策略,而不是部署技能。然后又发生了一个错误
现在,每当主分支中发生提交时,我想通过gitlab ci/cd来部署我的技能,为此我需要将Exection Policy设置为Unrestricted。请告诉我怎么做。注意,错误消息是抱怨
*.sh
文件,这意味着Unix shell脚本(通常是类似POSIX的shell,如sh
或bash
),而设置执行策略
仅适用于PowerShell脚本(*.ps1
)-在类Unix平台上根本不受支持。[1]
具体来说,权限被拒绝的错误表明脚本文件hooks/pre_deploy_hook.sh
不可执行(没有)
要使其可执行(由任何人执行),请运行以下操作:
chmod a+x .git/hooks/pre_deploy_hook.sh
从项目文件夹中
[1] 在类Unix平台上,PowerShell的执行策略不适用:在Windows术语中,就好像绕过
策略已经生效(即使获取执行策略
报告无限制
)。如屏幕截图所示,尝试设置策略会使设置执行策略
失败,而操作在此平台上不受支持。请回答您的问题,并将错误消息粘贴到格式化文本中,不是作为屏幕截图的链接。AFAIK未将Set ExecutionPolicy
cmdlet移植到非Windows操作系统。