繁体   English   中英

Jenkins与Docker和Artifactory的管道

[英]Jenkins pipeline with Docker and Artifactory

如何在Conan的Pipeline Jenkins工作中使用Artifactory,并在Docker容器中运行所有内容?

我现在有这个Jenkinsfile

def LINUX_DOCKER_IMAGE = "<docker_image>"
def ARTIFACTORY_NAME = "<server-name>"
def ARTIFACTORY_REPO = "<repo-name>"
String setup_conan = "config install <git url>"

node('linux') {
  stage("Get Sources"){
    checkout scm
  }

  docker.image(LINUX_DOCKER_IMAGE) {
   def server = Artifactory.server ARTIFACTORY_NAME
   def client = Artifactory.newConanClient userHome: "/tmp/conan_home"
   def serverName = client.remote.add server: server, repo: ARTIFACTORY_REPO

    stage("Setup Conan") {
        client.run(command: setup_conan)
    }

    stage("Build package") {
        client.run(comnand: "create --profile Linux-Release . foo/bar")
    }

    stage("Upload package") {
        String command = "upload -r ${serverName} --all --check --confirm \"myproject/*\""
        def b = client.run(command: command)
        server.publishBuildInfo b
    }
  }
}

但是Artifactory.newConanClient()函数失败:

[...]
[Pipeline] InitConanClient
[myproject] $ docker exec --env BUILD_DISPLAY_NAME=#19 ... <container sha> sh -c 'conan config set log.trace_file="/tmp/conan-home/conan_log.log" '
[Pipeline] ConanAddRemote
[myproject] $ docker exec --env BUILD_DISPLAY_NAME=#19 ... <container sha> sh -c "conan remote add <server ID> <repo url> "
WARN: Remotes registry file missing, creating default one in /tmp/conan-home/.conan/registry.txt
[Pipeline] ConanAddUser
Adding conan user '<username>', server '<server ID>'
[myproject] $ docker exec --env BUILD_DISPLAY_NAME=#19 ... <container sha> sh -c ********
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
[Pipeline] }
[...]

我可以不同地设置客户端吗? 我可以在常规的sh {}运行Conan命令,但是我该如何告诉Artifactoy呢?

这是一个逃避的问题。 Jenkins-Artifactory-plugin使用/bin/sh运行Conan可执行文件。

有一个吉拉问题 在那里可以找到解决问题的快照。

该修复程序将包含在下一个Jenkins-Artifactory-plugin版本中。 同时,您可以下载快照版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM