gpt4 book ai didi

python - Openshift:如何从私有(private)存储库安装 python 模块?

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:15 26 4
gpt4 key购买 nike

我希望能够将 python 软件包安装到 openshift,但这些软件包位于我的私有(private)存储库中的 bitbucket 上。

如何为 Openshift 创建 SSH key ,以及如何让 Openshift 在安装软件包时使用它? (将相应的公钥添加到bitbucket作为Deploy Key后)

我尝试过的:

我用过ssh-keygen~/.openshift_ssh/ 上创建 key 。它已创建,但我不确定它是否正在使用。

我还尝试在<jenkins_dir>/app-root/data/.ssh/jenkins_id_rsa.pub上添加公钥,但结果总是一样的。在构建作业的 Jenkins 控制台输出上:

Doing git clone from ssh://git@bitbucket.org/jpimentel/zed.git to /tmp/easy_install-FpEKam/zed.git
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

有什么可以做的吗?

最佳答案

因此,目前 OpenShift 并未提供简单的机制来执行此操作。我敦促开发人员查看 https://gondor.io/support/dependencies/以便有效解决问题。

也就是说,我终于找到了一种可接受的(至少对我而言)适用于可扩展和不可扩展应用程序的解决方法,具体过程如下:

  1. 在存储库中创建一个deploy/目录

  2. 将您的私有(private)部署 key 的副本放入所述目录中

  3. 创建一个bash脚本deploy/wrapper.sh,它将使用提供的 key 运行ssh:

    #!/bin/sh
    ssh -o StrictHostKeyChecking=no -i $OPENSHIFT_REPO_DIR/deploy/id_deploy $@

    注意传递的用于禁用主机 key 检查的选项;如果没有它,克隆就会失败。

  4. 在构建 Hook (.openshift/action_hooks/build) 中安装依赖项。就我而言,我添加了类似的内容

    echo "Cloning private repo..."
    source $VIRTUAL_ENV/bin/activate
    GIT_SSH=$OPENSHIFT_REPO_DIR/deploy/wrapper.sh pip install git+ssh://git@bitbucket.org/team/reponame.git#egg=reponame
  5. 提交所有内容并将其推送到 openshift。

  6. 盈利!

关于python - Openshift:如何从私有(private)存储库安装 python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com