如何在不使用github的情况下将nodejs应用程序部署到openshift中?

时间:2017-06-30 11:22:51

标签: node.js openshift openshift-origin openshift-client-tools

我已经构建了一个nodejs应用程序,现在我想将它部署到openshift中。 我不想使用github,因为我应该创建我不能创建的私有存储库。 我也不能使用' rhc'因为我是新用户。 有没有办法做到这一点? 我找不到任何相关的教程。

3 个答案:

答案 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)

我没有看到任何人建议我这样做 - 您可以同样部署来自gitlabpagurebigbucket或任何其他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)。