最新公司准备应用openshift,于是安排我学习openshift,通过好几天的学习,尝试,踩过无数个坑,终于搭建起了一个Mater,一个Node的openshift环境:
公司后端项目是基于springboot,openshift没有提供现有的is,所以需要通过s2i自己制作is,现记录过程如下:
1. 下载s2i,过程略过...
2. 通过s2i创建镜像:
s2i create springboot-s2i springboot-s2i
s2i目录下为S2I脚本。
其中:
assemble:负责源代码的编译、构建以及构建产出物的部署。
run:S2I流程生成的最终镜像将以这个脚本作为容器的启动命令。
usage:打印帮助信息,一般作为S2I Builder镜像的启动命令。
save-artifacts:为了实现增量构建。稍后对针对springboot的增量更新做详细说明
3. 编辑Dockfile文件:
#springboot-s2i
FROM maven:3.6-jdk-8
# TODO: Put the maintainer name in the image metadata
LABEL maintainer="huabing.li"
# TODO: Rename the builder environment variable to inform users about application you provide them
ENV MAVEN_CONFIG=.m2
# TODO: Set labels used in OpenShift to describe the builder image
LABEL io.openshift.s2i.scripts-url="image:///usr/libexec/s2i" \
io.openshift.s2i.destination="/opt/s2i/destination"
#LABEL io.k