Ibm cloud IBM云代码引擎无法为私有回购构建

Ibm cloud IBM云代码引擎无法为私有回购构建,ibm-cloud,ibm-cloud-code-engine,Ibm Cloud,Ibm Cloud Code Engine,我正在使用。我尝试过很多次,但构建运行总是失败。以下是我所做的步骤 将我的公钥(/root/.ssh/id_rsa.pub)作为部署密钥添加到我的私有repo 使用IBM云代码引擎CLI创建repo访问凭据 ibmcloud ce repo-create--name ibmgithub--key-path/root/.ssh/id_-rsa--host github.ibm.com 使用IBM Cloud Code Engine CLI创建生成,然后提交生成运行 ibmcloud ce bu

我正在使用。我尝试过很多次,但构建运行总是失败。以下是我所做的步骤

  • 将我的公钥(/root/.ssh/id_rsa.pub)作为部署密钥添加到我的私有repo

  • 使用IBM云代码引擎CLI创建repo访问凭据
    ibmcloud ce repo-create--name ibmgithub--key-path/root/.ssh/id_-rsa--host github.ibm.com

  • 使用IBM Cloud Code Engine CLI创建生成,然后提交生成运行
    ibmcloud ce build create--name minion--image us.icr.io/mynamespace/myimg--rs ce default icr us south--git repo secret ibmgithub--sourcehttps://github.ibm.com/myaccount/myrepo --策略文档文件--中等大小

  • 构建运行总是失败

  • 我怀疑构建运行无法从我的私有repo获取源代码。我在repo界面上查看,它显示了deploy键
    从未使用过

  • 有人能解释一下吗?谢谢。

    由于您使用的是ssh密钥,请确保git repo的URL以
    git@
    开头,而不是以
    https://
    开头。所以它应该是git@github.ibm.com/我的账户/myrepo在您的情况下


    有关构建失败的进一步问题,您可以检查相关的。

    因为您使用的是ssh密钥,所以请确保git repo的URL以
    git@
    开头,而不是以
    https://
    开头。所以它应该是git@github.ibm.com/我的账户/myrepo在您的情况下


    有关构建失败的更多问题,您可以查看相关的。

    IBM云代码引擎的构建功能可以访问公共和私有存储库中的源代码。存储库是公共的有两个标准:

  • 必须在存储库提供程序(例如GitHub或GitLab)中将存储库标记为公共
  • 存储库必须无需任何身份验证即可访问。这对GitHub企业安装(例如GitHub.ibm.com)起到了一定作用,它可以在前面添加一个额外的身份验证,以防止匿名访问
  • 从代码引擎的角度来看,第二个标准使您的存储库成为私有存储库。要在代码引擎生成中寻址存储库,有一个简单的规则:

    • 对于公共存储库,请使用存储库的HTTPS URL和无存储库访问机密
    • 对于专用存储库,请使用存储库的SSH URL和存储库访问密码
    您正确指定了存储库访问密钥,但必须更改源URL才能使用SSH协议。查找URL的最简单方法是GitHub中的“代码”下拉列表:

    所以它应该是git@github.ibm.com/我的账户/myrepo在您的情况下

    其他参考资料:

    有关如何设置存储库访问密码的说明,请参见


    有关构建运行失败的疑难解答,请参见。它包括从构建运行中检索日志的说明,并将您看到的错误消息转换为根本原因,以及解决这些问题的步骤。

    IBM Cloud Code Engine的构建功能可以访问公共和私有存储库中的源代码。存储库是公共的有两个标准:

  • 必须在存储库提供程序(例如GitHub或GitLab)中将存储库标记为公共
  • 存储库必须无需任何身份验证即可访问。这对GitHub企业安装(例如GitHub.ibm.com)起到了一定作用,它可以在前面添加一个额外的身份验证,以防止匿名访问
  • 从代码引擎的角度来看,第二个标准使您的存储库成为私有存储库。要在代码引擎生成中寻址存储库,有一个简单的规则:

    • 对于公共存储库,请使用存储库的HTTPS URL和无存储库访问机密
    • 对于专用存储库,请使用存储库的SSH URL和存储库访问密码
    您正确指定了存储库访问密钥,但必须更改源URL才能使用SSH协议。查找URL的最简单方法是GitHub中的“代码”下拉列表:

    所以它应该是git@github.ibm.com/我的账户/myrepo在您的情况下

    其他参考资料:

    有关如何设置存储库访问密码的说明,请参见


    有关构建运行失败的疑难解答,请参见。它包括从BuildRun中检索日志的说明,并将您看到的错误消息转换为根本原因,以及解决这些问题的步骤。

    谢谢Sascha。在我将源格式更改为git之后。现在开始工作了,谢谢你。在我将源格式更改为git之后。它正在工作。
    #:~/synthetics-private-minion# ibmcloud ce bd get -n minion
    Getting build 'minion'
    OK
    Name:          minion  
    ID:            0abc63a0-07d5-42c5-b70a-227e52310276  
    Project Name:  private location  
    Project ID:    25491342-e9e8-4ac7-90ff-b9994cda9242  
    Age:           6m24s  
    Created:       2021-03-31T04:11:41-05:00  
    Status:        Succeeded  
    Reason:        all validations succeeded  
    Image:            us.icr.io/mynamespace/myimg 
    Registry Secret:  ce-default-icr-us-south  
    Build Strategy:   kaniko-medium  
    Timeout:          10m0s  
    Source:           https://github.ibm.com/myaccount/myrepo  
    Commit:           main  
    Dockerfile:       Dockerfile  
    Repo Secret:      ibmgithub  
    Build Runs:    
      Name              Status                                                                                                                                                                                                                                                                                                                            Age  
      minion-run-sj5fl  "step-git-source-source-cm7pc" exited with code 1 (image: "icr.io/obs/codeengine/tekton-pipeline/git-init-4874978a9786b6625dd8b6ef2a21aa70@sha256:47b8008fa1910fa36c8284871eb9d8e7fbab8bc3a1db4cdd97c61d88727cc58f"); for logs run: kubectl -n 7pztl5cw3ad logs minion-run-sj5fl-nbzft-pod-rx9x9 -c step-git-source-source-cm7pc  5m42s