我已经构建了一个nodejs应用程序,现在我想将它部署到openshift中。 我不想使用github,因为我应该创建我不能创建的私有存储库。 我也不能使用' rhc'因为我是新用户。 有没有办法做到这一点? 我找不到任何相关的教程。
答案 0 :(得分:4)
对于OpenShift 3,您可以使用二进制输入源构建。
首先创建二进制输入构建。
oc new-build --name myapp --strategy=source --binary --image-stream=nodejs:latest
现在开始新的构建并从当前目录上传源代码。
oc start-build myapp --from-dir=.
构建完成后,部署构建创建的图像。
oc new-app myapp
然后,您可以公开该服务。
oc expose svc/myapp
每次要进行更改时,都需要在源代码所在的目录中运行相同的oc start-build
命令。
答案 1 :(得分:0)
您使用的是其他代码仓库吗? SVN?如果是SVN,您可以使用Jenkins的管道。
如果没有,请将nodejs应用程序放入docker容器并将其推送到docker hub。
答案 2 :(得分:0)
我没有看到任何人建议我这样做 - 您可以同样部署来自gitlab,pagure,bigbucket或任何其他git托管服务的代码
实际上你甚至可以在OpenShift中运行自己的git服务器。
oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/gitserver/gitserver-persistent.yaml
oc env dc/git -p ALLOW_ANON_GIT_PULL=false
oc policy add-role-to-user edit -z git
oc get route # to see your git server URL
现在,您应该可以使用OpenShift用户名和令牌(也是您添加到项目中的任何其他用户)从该服务器推/拉。从buildconfigs
和其他pods
,您也可以使用git
作为git服务器的主机名,因为这应该解析为具有相同名称的service
的IP(再次只在同一个OpenShift项目中。)
阅读模板YAML(oc create
之后的网址),了解更多可以使用的选项,例如REQUIRE_GIT_AUTH
。
当然,与任何其他git服务一样,将git镜像/备份保存在其他地方是件好事。
HTH
P.S。忘了说,您需要自己安装OpenShift v3集群或订阅OpenShift Online(遗憾的是可能需要一段时间的ATM)。