簡體   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