我正在构建jenkins-pipline,这是run的bash脚本中的一个步骤,命令很少:
* gcloud --quiet auth configure-docker
* docker-compose -f ${DOCKER_COMPOSE_PATH} ${DOCKER_COMPOSE_CACHING_FILE} build ${SERVICE_NAME}
当我尝试在piplinet 中运行脚本时
/var/lib/jenkins/workspace/infrastructure-build/build.sh
我有一个错误
在尝试连接到位于的Docker守护进程套接字时获得拒绝的权限unix:///var/run/docker.sock:发布http://%2Fvar%2Run%2Fdocker.sock/v.40/images/create?fromImage=gcr.io%2Fkycstationproduction%2Fzkui&tag=stagingcache:拨号unix/var/run/doker.sock:connect:拒绝权限
所以我添加了"sudo">,并导致了一个新的错误:
错误:(gcloud.auth.activate服务帐户(无法读取json文件gcloud-service-account-securt-key.json:无法解码任何json对象
我尝试了以下几件事:1.在jenkins配置中创建全局变量2.将docker添加到根组3.gcloud初始化
- https://cloud.google.com/sdk/docs/quickstart-debian-ubuntuhttps://cloud.google.com/container-registry/docs/advanced-authenticationhttps://cloud.google.com/container-registry/docs/support/deprecation-notices#gcloud-码头工人https://cloud.google.com/iam/docs/creating-managing-service-account-keys
浏览了网络,仍然没有找到任何可以帮助我的东西
/var/run/doker.sock:connect:权限被拒绝对于这个问题,您需要做两件事;
- 添加Jenkins作为超级用户(在命令中排除sudo(
- $sudo visudo
- jenkins ALL=(ALL(NOPASSWD:ALL
- chmod 777/var/run/doker.sock(克服权限问题(
错误:(gcloud.auth.activate服务帐户(
- 对于此问题,在运行gcloud命令之前,请将您的服务帐户JSON文件和适当的凭据作为机密文件包含在Jenkins中
- 引用Jenkinsfile中的
- 带凭据([文件(凭据ID:"sa凭据",变量:"sa_KEY"(]({
- sh'gcloud auth-activate服务帐户--密钥文件=${SA_key}'}
- 带凭据([文件(凭据ID:"sa凭据",变量:"sa_KEY"(]({
,然后执行其他命令。