Jenkins流水线不构建Docker脚本。
Jenkins流水线不构建Docker脚本。
我正在使用 Jenkinsfile 和 Docker 构建一个流水线。Build 阶段运行一个构建 Dockerfile 的脚本。
当我在 Jenkins 上运行时,出现了以下错误:
+ COMMIT=b64ccfbe0d..............
+ ./docker_build.sh 123asdc
/root/.jenkins/workspace/nameofproj/durable-c87f882c/script.sh: line 3: ./docker_build.sh: Permission denied
script returned exit code 1
我查看了多个类似问题(1,2,3),解决了类似的权限问题。
我尝试过的解决方案是在 Jenkinsfile 中使用 "git update-index --chmod=+x",这似乎在权限方面有所进展,但是无法识别 Tag,导致出现以下错误:
error: 0852ac1: does not exist and --remove not passed
fatal: Unable to process path
build_docker.sh 的内容如下:
#!/usr/bin/env bash
TAG=$1
VCS_URL=`cat Dockerfile | grep "ARG VCS_URL" | sed $SEDFLAG 's/[^0-9.]//g'`
VERSION=`awk '/version =/{print $3;exit;}' "build.gradle.kts"`
IMAGE_VERSION=`sed -e 's/^"//' -e 's/"$//' <<<"${VERSION}"`
echo "============================================================================================"
echo " Building docker { NAME:"${NAME}", IMAGE_VERSION:"${IMAGE_VERSION}", TAG:"${TAG}" "
echo "============================================================================================"
我不确定接下来该怎么做,因为似乎文件甚至没有被读取。请给予指导。