尝试在终端Node.js
中创建OpenShift
个应用,如下所示:
./oc new-app https://j4nos@bitbucket.org/j4nos/nodejs.git
私人帐户BitBucket
中的源代码,如何设置凭据?一旦它要求密码,但不是再次。我该如何设置凭证?
从GUI添加了带注释的秘密:repo-at-bitbucket
我已阅读Private Git Repositories: Part 2A教程,奇怪的是,HTTPD
应用提交了Source Secret
来选择机密,但不是Node.js
+ MongoDB
组合时被选中。为什么呢?
啊......需要选择纯Node.js
app。
答案 0 :(得分:1)
您需要对私有git存储库进行身份验证。这可以通过几种不同的方式完成。我建议花几分钟时间阅读这个博客系列,其中概述了你可以采取的不同方法。
https://blog.openshift.com/private-git-repositories-part-1-best-practices/
首先阅读最初几篇解释概念并使用GitHub执行此操作的帖子,然后再看看BitBucket示例。
https://blog.openshift.com/private-git-repositories-part-5-hosting-repositories-bitbucket/
那些GitHub示例有更多解释,这将使BitBucket示例更容易理解。
运行oc new-app
时提示输入密码的可能原因是您使用过:
oc new-app https://j4nos@bitbucket.org/j4nos/nodejs.git
具体而言,您未指定要使用的S2I构建器。因此,oc new-app
将尝试在本地签出repo以对其进行分析,以尝试找出它使用的语言。这就是为什么它会单独提示输入密码。
最好在命令上指定构建器名称:
oc new-app nodejs~https://j4nos@bitbucket.org/j4nos/nodejs.git
这是命令的缩写形式,与运行相同:
oc new-app --strategy=source --image-stream nodejs --code https://j4nos@bitbucket.org/j4nos/nodejs.git
如果您指定构建器,它已经知道要使用什么,并且不会分析代码,因此不会提示输入密码,而且您不需要URI中的用户。
无论哪种方式,在OpenShift中构建时,您仍然需要basicauth
秘密,并且应该对其进行注释,以便它知道使用该构建的秘密。