7.4. 使用 eap-s2i-build 模板构建应用程序镜像
eap-s2i-build
模板添加几个参数来配置应用源存储库的位置,以及用于构建应用的 EAP S2I 镜像。通过此模板,您可以将镜像流用于任何 JBoss EAP 版本,如 JBoss EAP 7.4、JBoss EAP XP 或 JBoss EAP CD。
流程
- 在 OpenShift 中导入 EAP 镜像。如需更多信息,请参阅为 JBoss EAP XP 导入 OpenShift 镜像流和模板。
- 配置镜像流以接收应用镜像流中更改的更新并触发新构建。如需更多信息,请参阅配置定期导入 imagestreamtag。
创建
eap-s2i-build
模板,以使用 EAP S2I 镜像构建应用镜像:$ oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates/master/eap-s2i-build.yaml
此
eap-s2i-build
模板创建两个构建配置,以及两个与中间构建工件和最终应用程序镜像对应的镜像流。使用参数处理
eap-s2i-build
模板,以创建最终应用镜像的资源。以下示例创建了应用程序镜像my-app
:$ oc process eap-s2i-build \ -p APPLICATION_IMAGE=my-app \ 1 \ -p EAP_IMAGE=jboss-eap-xp1-openjdk11-openshift:1.0 \ 2 -p EAP_RUNTIME_IMAGE=jboss-eap-xp1-openjdk11-runtime-openshift:1.0 \ 3 -p EAP_IMAGESTREAM_NAMESPACE=$(oc project -q) \ 4 \ -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts.git \ 5 -p SOURCE_REPOSITORY_REF=xp-1.0.x \ 6 -p CONTEXT_DIR=microprofile-config | oc create -f - 7
使用 EAP 操作器准备应用镜像以进行部署。
配置
WildFlyServer
资源:$ cat > my-app.yaml<<EOF apiVersion: wildfly.org/v1alpha1 kind: WildFlyServer metadata: name: my-app spec: applicationImage: 'my-app:latest' replicas: 1 EOF
应用设置,并让 EAP 操作器创建新的
WildFlyServer
资源来引用此应用镜像:$ oc apply -f my-app.yaml
使用以下命令查看
WildFlyServer
资源:$ oc get wfly my-app
其他资源
- 有关导入应用程序镜像流的更多信息,请参阅为 JBoss EAP XP 导入最新的 OpenShift 镜像流和模板。
- 有关定期导入镜像流的更多信息,请参阅配置定期导入 imagestreamtag。