- 复制 CAS 5.3.16 overlay 源码(src/、pom.xml、etc/cas/config/log4j2.xml、docker/cas.properties)及本地构建辅助(build.cmd/build.sh/maven-settings.xml) - build.yml:maven 产物由 jar 改为 war(cp cas.war app.jar),CI 内源码构建,摆脱 174MB war blob 入库 - Dockerfile:CAS 专用镜像(自签名 keystore 8443 HTTPS + 内置 cas.properties/log4j2.xml + JAVA_OPTS 注入) - pom.xml:移除 sonatype/shibboleth 外网仓库,依赖全部经 nexus maven-public 解析 - 前端 front/ 不入库(CasSsoFront 仓库独立发布)
This commit is contained in:
+17
-8
@@ -1,18 +1,27 @@
|
||||
# 由 projman 注入的 Spring Boot 运行镜像(单阶段,jar 预构建)
|
||||
# CI 已先 mvn package,并在容器内把产物 cp 成固定名 target/app.jar
|
||||
# CAS 5.3.16 运行镜像(单阶段,war 预构建)
|
||||
# CI 已先 mvn package 并在容器内把产物 cp 成固定名 target/app.jar(= cas.war,可执行 WAR)
|
||||
# 构建上下文 = 仓库根:docker build -f docker/Dockerfile .
|
||||
# 健康检查依赖 curl(projman 部署用 curl 探 /actuator/health)——应用需含 spring-boot-starter-actuator
|
||||
# 健康检查(projman 应用配置 healthPath=/cas/status + HTTPS 自签名开):curl -fk https://localhost:8443/cas/status
|
||||
# 时区 Asia/Shanghai;JAVA_OPTS 由 projman 部署 env 注入(默认 -Xms512m -Xmx1024m)
|
||||
FROM eclipse-temurin:8-jre
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends curl tzdata \
|
||||
# CAS 5.3 默认要求 HTTPS(安全 Cookie),生成自签名密钥库(密码固定 changeit,过渡期用)
|
||||
RUN mkdir -p /etc/cas/config \
|
||||
&& keytool -genkeypair -alias cas -keyalg RSA -keysize 2048 -validity 3650 \
|
||||
-storetype JKS -keystore /etc/cas/cas.keystore \
|
||||
-storepass changeit -keypass changeit -dname "CN=cas.example.org" \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends curl tzdata \
|
||||
&& ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||
&& echo "Asia/Shanghai" > /etc/timezone \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
COPY target/app.jar /app/app.jar
|
||||
COPY target/app.jar /app/cas.war
|
||||
COPY docker/cas.properties /etc/cas/config/cas.properties
|
||||
COPY etc/cas/config/log4j2.xml /etc/cas/config/log4j2.xml
|
||||
|
||||
EXPOSE 10001
|
||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS:--Xms512m -Xmx1024m} -Dfile.encoding=UTF-8 -jar /app/app.jar"]
|
||||
# 镜像内 cas.properties 仅保留环境无关配置(HTTPS/端口/日志/管理页白名单);
|
||||
# 业务配置(cas.server.name / cas.authn.jdbc / Redis / custom.login.* 等)来自 projman
|
||||
# 配置管理挂载的 /app/config/application.yml(Boot 1.5 自动加载 file:./config/ 且优先于 classpath),镜像保持环境无关。
|
||||
EXPOSE 8443
|
||||
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS:--Xms512m -Xmx1024m} -Dfile.encoding=UTF-8 -jar /app/cas.war"]
|
||||
|
||||
Reference in New Issue
Block a user