jenkins-pipeline - Jenkins buildInfo 对象没有收到工件
问题描述
我一直在尝试使用 Jenkins Artifactory 插件将工件上传到 Artifactory,但在创建工件时遇到了问题(奇怪的是我的管道结束了,所以我必须触发一个静默错误) .
这是代码(我在下面提供了有关我认为出了什么问题的更多详细信息):
def server = Artifactory.server 'rc-artifact'
def uploadSpec =
"""{
"files": [
{
"pattern": "${unencryptedZipName}",
"target": "builds/SedTuningGui/${env.BUILD_NUMBER}/${unencryptedZipName}",
"props": "type=zip"
}
]
}"""
def buildInfo = server.upload spec: unencryptedUploadSpec
print buildInfo.getProperties().toString()
和控制台输出(我很乐意展示的部分):
[..., deployableArtifacts:[], artifacts:[], ...]
如您所见,'artifacts' 和 'deployable artifacts' 数组都是空的,这意味着服务器没有收到我构建的 zip 文件。我知道 zip 文件存在,因为我已经成功 robocopied它。
所有这一切让我相信def buildInfo = server.upload...行不起作用,因为构建的 zip 文件存在,但不包含在 buildInfo 对象中。
这是我第一次使用 Jenkins 管道,我想我已经接近解决这个问题了,我只需要一点方向。
解决方案
您定义的文件规范是uploadSpec
,但在以下行中def buildInfo = server.upload spec: unencryptedUploadSpec
您使用unencryptedUploadSpec
. 尝试
def buildInfo = server.upload spec: uploadSpec
推荐阅读
- python - python中对自己进行评估的关键字
- sql - 我如何找到上个月当日销售和上个月当前周销售?
- angular - 在 mat-select 中获取选定的选项(多个)
- python - 为什么我仍然可以将记录导入到具有复合索引的表中?
- python-3.x - 如何使用 python-telegram-bot 获取和存储用户的消息?
- c# - GCHandle.Free() 是否调用 IDisposable.Dispose()?
- android - 使用 API 时如何处理流协程异步行为
- multithreading - Java volatile 读取可见性保证
- debugging - 当我在 VS Code 中调试我的代码时,WATCH 面板消失了
- c# - JsonConvert.DeserializeObject 错误 mvc asp.net newtonjson