如何从模板文件构建和部署应用程序?

时间:2017-11-14 05:23:43

标签: openshift

我尝试使用CLI构建和部署应用,以及从示例app中获取模板。

我的步骤:

  1. 下载template
  2. oc login< ...>
  3. oc new-project< ...>
  4. oc new-app -f ./nodejs.json
  5. 结果:

    可以访问外部世界的应用程序(使用远程github repo源代码构建)

    问题:

    一切都很好,但我想使用我当前工作目录.中我自己的源文件据我了解,为了做到这一点,我需要修改{{1}模板的一部分。

    BuildConfig

    你能帮我编辑一下这个文件吗?

1 个答案:

答案 0 :(得分:1)

据我所知,你正在为nodejs开发:

一个可能的解决方案是在本地机器上构建(也就是做所有npm的东西)(跳过s2i构建容器中的汇编阶段)然后从二进制源部署开始[1] [2]。

您可以通过以下步骤执行此操作:

oc new-app <IMAGE-NAME>~/tmp/nocontent --name=<APPLICATION_NAME>

oc start-build <APPLICATION_NAME> --from-dir=<PATH_TO_DIR>/my-built-app

<PATH_TO_DIR>/my-built-app dir必须在根目录中包含二进制(或javascript文件)。

该命令将文件流式传输到openshift中的新构建容器(这也适用于minishift)。

您还可以在<PATH_TO_DIR>/my-built-app

中添加.s2i目录进行更多自定义

例如:<PATH_TO_DIR>/my-built-app/.s2i [3]

注意:您必须阅读文档和/或浏览s2i图像的窗格,以了解文件的放置位置以及图像随附的s2i默认脚本移动文件的位置本身。

[1]:https://access.redhat.com/documentation/en-us/reference_architectures/2017/html/build_and_deployment_of_java_applications_on_openshift_container_platform_3/build_and_deploy#binary_source_deployment

[2]:https://docs.openshift.com/container-platform/3.6/dev_guide/builds/basic_build_operations.html

[3]:https://access.redhat.com/documentation/en-us/openshift_container_platform/3.6/html/using_images/source-to-image-s2i#customizing-s2i-images