如何修复管道上任务的权限被拒绝错误?

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

我当前正在设置管道,当我添加 git clone 任务并尝试运行管道时,它给了我一个权限被拒绝的错误。这就是错误的样子;

STEP-CLONE

+ '[' false = true ']'
+ '[' false = true ']'
+ '[' false = true ']'
+ CHECKOUT_DIR=/workspace/output/
+ '[' true = true ']'
+ cleandir
+ '[' -d /workspace/output/ ']'
+ rm -rf /workspace/output//Dockerfile /workspace/output//LICENSE /workspace/output//Procfile /workspace/output//README.md /workspace/output//labs /workspace/output//requirements.txt /workspace/output//service /workspace/output//setup.cfg /workspace/output//tests
rm: cannot remove '/workspace/output//service/common/__pycache__/status.cpython-39.pyc': Permission denied
rm: cannot remove '/workspace/output//service/common/__pycache__/log_handlers.cpython-39.pyc': Permission denied
rm: cannot remove '/workspace/output//service/__pycache__/__init__.cpython-39.pyc': Permission denied
rm: cannot remove '/workspace/output//service/__pycache__/routes.cpython-39.pyc': Permission denied
rm: cannot remove '/workspace/output//tests/__pycache__/test_routes.cpython-39.pyc': Permission denied

如何解决此问题以使任务成功运行?为什么权限被拒绝?

我尝试重新运行管道以查看是否可以解决问题。

python linux openshift pipeline redhat
1个回答
0
投票

您需要检查并修改文件权限。 尝试检查所有者和权限并更正它们。

这是一个修改后的脚本,用于自动检查和更正:

cleandir() {
  if [ -d "$CHECKOUT_DIR" ]; then
    echo "Checking permissions and setting up for deletion..."
    find "$CHECKOUT_DIR" -type f -exec chmod u+w {} \;
    find "$CHECKOUT_DIR" -type d -exec chmod u+rwx {} \;
    find "$CHECKOUT_DIR" -type f -exec rm -f {} \;
    find "$CHECKOUT_DIR" -type d -exec rmdir {} \;
  fi
}

cleandir

如果执行的用户有权限,这应该可以工作。

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