您好我正在尝试配置我们的jenkins构建服务器以使用git分支。
我的配置如下:
如果我点击带参数的构建,我会得到一个像这样的空列表:
我已经构建了这个没有参数的项目,并且它有效。在源代码管理部分,我已经在没有ssh的情况下为我们的服务器添加了正确的信用卡。 (只有用户名和密码)
但是我没有列表中的git引用。我已经google了一下,发现这是一个常见的问题,如果你使用ssh但我们不使用ssh。我不想通过Extensible Choice Parameter插件制作解决方法。
那么这里有什么问题?我不敢相信这在詹金斯中很难配置......
我们使用最新的jenkins版本和git参数插件与maven id: org.jenkins-ci.tools:git-parameter:0.4.0
答案 0 :(得分:1)
这是我的bitbucket解决方案:(也应该对gitlab / github的URL进行少量修改)
您可以使用Bitbucket Rest API和Scriptler来完成: (例如,这里有“tags”端点。它也适用于其他端点,例如“branches”)
转到管理Jenkins - > Scriptler - >添加新脚本
你必须设置你的值 组织, 库中, 用户 和密码。 最好的方法是使用scriptler
```
String organization="${ORGANISATION}"
String repository="${REPOSITORY}"
String endpoint="tags"
String baseUrl = "https://api.bitbucket.org"
String version = "1.0"
// Create authorization header using Base64 encoding
//HERE YOU CAN GET THE AUTH CREDENTIALS OVER THE CREDENTIALSID INSTEAD
String userpass = "${USER}:${PASSWORD}"
String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
println basicAuth
String url = [baseUrl, version, "repositories", organization, repository, endpoint].join("/")
println "URL " + url
// Create URL
URL apiUrl = url.toURL()
// Open connection
URLConnection connection = apiUrl.openConnection()
// Set authorization header
connection.setRequestProperty("Authorization", basicAuth)
InputStream inputStream = connection.getInputStream()
HashMap tags = new groovy.json.JsonSlurper().parseText(inputStream.text)
inputStream.close()
Set keys= tags.keySet();
List<String> list=new ArrayList<String>()
keys.each { key ->
println key
list.add(key)
}
return list
```
答案 1 :(得分:0)
解决方法。对我来说很好。希望插件很快就会修复。
在这种情况下,我的项目可以获取构建项目所需的所有数据。
答案 2 :(得分:0)
如果您在Windows上使用Jenkins,Git参数插件0.4可能无法正常显示&#34;检索Git引用&#34;。
我认为原因是插件并没有使用Jenkins&#39;凭证但运行git命令作为系统的登录用户。您可以通过更改JenKins&#39;来修复它。 Windows服务已将用户登录到已登录并在Windows凭据中保存密码的真实用户。
答案 3 :(得分:0)
我遇到了与没有Git标签的“检索Git引用”相同的问题,但它不是权限问题。我要离开这里以防万一其他人偶然发现这个链接(谷歌的第一个问题)并且可能和我有同样的问题。
当我查看Jenkins日志时,我看到Git参数插件中出现Java数字格式错误(java.lang.NumberFormatException)的错误。这是因为我使用构建时间戳来创建我的标签,这最终成为一个非常长的数值。插件必须将其识别为数字,然后尝试将其转换为int(我假设稍后进行排序),但随后因为太长而爆炸。要解决这个问题,我必须删除所有标签,并将我的构建更改为标记,其中包含作业名称和内部版本号(例如,DEV-233)。在我这样做之后,标签列表正确填充。
答案 4 :(得分:0)
我得到了相同的“检索git引用”但没有分支。网上有几个解决方案。
我的解决方案(对我有用)是从github下载git-parameter插件的源代码,构建插件并移动到jenkins / WEB-INF / plugins。开始显示repo上可用的分支列表。
步骤进行:
你现在应该可以看到所有分支。