openshift镜像构建-s2i环境变量设置

时间:2022-05-06
本文章向大家介绍openshift镜像构建-s2i环境变量设置,主要内容包括有2种方法可以在源码构建过程和产生的镜像中设置环境变量:、BUILDCONFIG ENVIRONMENT、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

有2种方法可以在源码构建过程和产生的镜像中设置环境变量:

  • environment files
  • buildconfig environment

ENVIRONMENT FILES

源码构建的时候我们可以在应用程序内设置环境变量的值(每行一个),方法是在源码库的.s2i / environment文件中指定它们。这个文件中指定的环境变量在构建过程中和最终的容器镜像中存在。支持的环境变量的完整列表可在每个镜像的documentation中找到。

如果在源码库里提供一个.s2i/environment文件,s2i构建过程中将会读取这个文件。这个过程可以实现定制化的构建行为,因为assemble脚本会使用这些变量。

例如,如果你想要在你的Rails应用里禁用assets compilation,你可以在.s2i/environment文件里添加DISABLE_ASSET_COMPILATION=true,在构建过程中assets compilation将会被跳过。

除了构建过程之外,指定的环境变量在运行的应用程序本身中也可用。例如,你在.s2i/environment文件里添加

RAILS_ENV=development,会导致Rails应用以开发模式而不是生产模式启动。

BUILDCONFIG ENVIRONMENT

可以将环境变量添加到BuildConfig的sourceStrategy定义中。 此处定义的环境变量在assemble脚本执行期间可见,并将在输出的镜像中定义,使其也可用于运行脚本和应用程序代码。

例如,在你的Rails应用里禁用assets compilation:

sourceStrategy:
...
  env:
    - name: "DISABLE_ASSET_COMPILATION"
      value: "true"