[英]gitlab ci/cd ERROR: Job failed: exit code 1 on chmod og= $STAGE_ID_RSA
這是我的 ci.yml
deploy-stage:
stage: deploy
image: alpine:latest
script:
- chmod og= $STAGE_ID_RSA
- apk update && apk add openssh-client
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker stop $CI_PROJECT_NAME || true"
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker rm $CI_PROJECT_NAME || true"
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker image rm $CI_REGISTRY_IMAGE:latest || true"
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY"
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker pull $CI_REGISTRY_IMAGE:latest"
- ssh -i $STAGE_ID_RSA -o StrictHostKeyChecking=no $STAGE_SERVER_USER@$STAGE_SERVER_IP "docker run -d --restart unless-stopped --name $CI_PROJECT_NAME -p 8882:4000 -e "variableData=Docker-Run-Command" $CI_REGISTRY_IMAGE:latest"
我收到此錯誤:
BusyBox v1.35.0 (2022-05-09 17:27:12 UTC) multi-call binary.
Usage: chmod [-Rcvf] MODE[,MODE]... FILE...
MODE is octal number (bit pattern sstrwxrwxrwx) or [ugoa]{+|-|=}[rwxXst]
-R Recurse
-c List changed files
-v Verbose
-f Hide errors
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1
這是我的變量:
https://i.stack.imgur.com/zegmz.png
我輸入STAGE_ID_RSA
值的斷線結尾
首先,您可以使用chmod og= -- $STAGE_ID_RSA
來確保 chmod不會將$STAGE_ID_RSA
視為一個選項,而是一個參數。
其次, chmod [OPTIONS] [ugoa…][-+=]perms…[,…] FILE...
表示chmod
適用於文件。
如果$STAGE_ID_RSA
代表一個value ,那將不起作用。
您需要將其內容重定向到文件。
然而,我確實在這里看到STAGE_ID_RSA
,就像你在.gitlab-ci.yml
中一樣使用,但使用的是kroniak/ssh-client
而不是alpine:latest
。
alpine:latest
中的chmod
可能不像更傳統的圖像中的chmod
。
請參閱“ Alpine docker image +755
無效模式中的 Linux 命令”。
這很可能是你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.