Jenkins中environment{ GIT_SSL_NO_VERIFY = "false" GIT_HTTP_SSL_VERIFY = "true" }已经这样设置过了,为什么还会出现http.https://gitgerrit.cn.asux.aptiv.com.sslverify=false http.https://gitgerrit.cn.asux.aptiv.com/.sslverify=true而且还卡到git clone就不动了
时间: 2024-03-29 22:35:59 浏览: 345
这个问题可能是由于Git在clone时需要SSL证书验证,但是Jenkins中的环境变量设置不一定能够正确地传递给Git。你可以尝试在Jenkins构建任务中添加一些额外的参数来覆盖默认的Git配置,例如:
```
git -c http.sslVerify=false clone https://gitgerrit.cn.asux.aptiv.com/repository/repo.git
```
这个命令会在clone时禁用SSL证书验证。你也可以尝试在Jenkins的构建任务中设置Git的配置,例如:
```
git config --global http.sslVerify false
```
这个命令会在全局范围内关闭Git的SSL证书验证。但是请注意,这可能会导致安全性问题,因此请在执行此操作之前确保你已经评估了风险并知道自己在做什么。
相关问题
在Jenkins pipeline中设置了environment{ GIT_SSL_NO_VERIFY = "false" GIT_HTTP_SSL_VERIFY = "true" }这个,但是还是会出现sslVerify = false
在Jenkins pipeline中设置环境变量是一种很好的方式来管理您的构建过程中需要使用的值。针对您的问题,您可以尝试以下步骤来解决:
1. 确认您的环境变量设置是否正确,可以使用`sh 'echo $GIT_SSL_NO_VERIFY'`命令来确认。
2. 检查您的Git配置是否正确,可以使用`sh 'git config --list'`命令来查看。
3. 确认是否有其他地方设置了相同的环境变量,这可能会导致冲突。
4. 如果以上步骤都没有解决问题,您可以尝试在Jenkinsfile中显式地设置Git配置,例如:
```groovy
stage('Checkout') {
steps {
script {
git branch: 'master',
credentialsId: 'my-git-creds',
url: 'https://my-git-repo.com/my-project.git'
sh 'git config http.sslVerify false'
sh 'git config http.sslBackend openssl'
}
}
}
```
这将在构建期间显式地设置Git配置,以确保您的构建过程中使用正确的值。
这段Jenkins pipeline有什么问题:pipeline{ agent{ node { label "MCU_Win10_DLDVNFF3X" customWorkspace "smart_MCU_WORKSPACE" } }//end of agent options { timestamps() } environment{ Project_MCU_GIT_URL = "https://gitgerrit.cn.asux.aptiv.com/a/10056024_smart_ADCU_MY25_MCU_APP" Credentials_path = "c:\\Users\\zjqwkn\\" GIT_SSL_NO_VERIFY = "false" GIT_HTTP_SSL_VERIFY = "true" } stages{ stage("Download source project From Git"){ steps{ script{ echo "Download source project from gerrit:" bat'''@echo on git config --global http.sslVerify true echo "Display the current directory:" git config -l dir /b if exist 10056024_smart_ADCU_MY25_MCU_APP\\.git\\ ( echo "already have git, clean it and update it" cd 10056024_smart_ADCU_MY25_MCU_APP git stash && git clean -f -d && git stash clear git pull origin master ) else ( echo "git clone a new 10056024_smart_ADCU_MY25_MCU_APP" git clone "%Project_MCU_GIT_URL%" ) echo "update ok!!!" ''' sleep 1 } } }//end of stage stage("Build source project"){ steps{ script{ echo "Build source project:" bat''' echo "Display the current directory:" CD ''' } } }//end of stage }//end of stages }//end of pipeline
这段Jenkins pipeline有以下问题:
1. 该Pipeline缺少构建步骤,应该在“Build source project”阶段添加构建步骤。
2. 在Pipeline的环境变量中,Credentials_path应该是一个完整的路径,而不是仅包含用户名的路径。
3. 在Pipeline的环境变量中,GIT_SSL_NO_VERIFY应该设置为"true"而不是"false",以避免因SSL验证失败而中断Pipeline。
4. 在Pipeline的环境变量中,GIT_HTTP_SSL_VERIFY应该设置为"false"而不是"true",以避免因SSL验证失败而中断Pipeline。
5. 在Pipeline的“Download source project From Git”阶段中,应该在bat脚本中使用%Credentials_path%而不是硬编码的用户名路径。
6. 在Pipeline的“Build source project”阶段中,应该在bat脚本中使用正确的命令来构建项目,而不是仅输出当前目录。
阅读全文