繁体   English   中英

无法为 Gitlab CI/CD 管道设置执行策略

[英]Unable to Set Execution Policy for Gitlab CI/CD Pipeline

我已经创建了一个 Amazon Alexa Skill,并且还向它添加了 ask-cli 支持。 当我尝试使用 ask-cli 部署它时出现错误,即

/bin/sh: 1: hooks/pre_deploy_hook.sh: Permission denied [Error]: Hook Scripts failed

然后,我以管理员身份打开Powershell并运行以下命令:

Set-ExecutionPolicy Unrestricted

之后,我成功地从我的系统部署了该技能。 然后我在 gitlab 上传了我的项目,并希望在 master 分支中发生提交时从 gitlab CI/CD 部署它。 但它显示了相同的钩子脚本错误。 然后,我更改了我的.gitlab-ci.yml文件以仅更改策略而不是部署技能。 然后再次发生错误。

错误截图

现在,我想在 master 分支中发生提交时通过 gitlab ci/cd 部署我的技能,为此我需要将 Exection Policy 设置为 Unrestricted。 请告诉我怎么做。

请注意,错误消息是抱怨*.sh文件,这意味着Unix shell 脚本(通常,类似于 POSIX 的 shell,例如shbash ),而Set-ExecutionPolicy仅适用于PowerShell脚本 ( *.ps1 ) - 和在类 Unix 平台上根本不支持。 [1]

具体来说, Permission denied错误表明脚本文件hooks/pre_deploy_hook.sh不可执行(没有可执行权限)。

要使其可执行(任何人),请运行以下命令:

chmod a+x .git/hooks/pre_deploy_hook.sh

从您的项目文件夹。


[1] 在类 Unix 平台上,PowerShell 的执行策略不适用:在 Windows 术语中,就好像Bypass策略有效(即使Get-ExecutionPolicy报告Unrestricted )。 如屏幕截图所示,尝试设置策略会使Set-ExecutionPolicy失败并显示Operation is not supported on this platform

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM