mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2025-12-06 16:16:23 +00:00
- Kustomize 기반 환경별(dev/staging/prod) 매니페스트 관리 - Jenkins 파이프라인 스크립트 작성 (Podman, Gradle, kubectl 컨테이너) - SonarQube 코드 품질 분석 및 Quality Gate 연동 - 수동 배포 및 리소스 검증 스크립트 추가 - k8s 매니페스트 구조 재정리 (configmaps, secrets, deployments, services 분리) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
27 lines
649 B
Plaintext
27 lines
649 B
Plaintext
# Build stage
|
|
FROM eclipse-temurin:21-jdk AS builder
|
|
ARG BUILD_LIB_DIR
|
|
ARG ARTIFACTORY_FILE
|
|
COPY ${BUILD_LIB_DIR}/${ARTIFACTORY_FILE} app.jar
|
|
|
|
# Run stage
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
ENV USERNAME=k8s
|
|
ENV ARTIFACTORY_HOME=/home/${USERNAME}
|
|
ENV JAVA_OPTS=""
|
|
|
|
# Add a non-root user
|
|
RUN addgroup -S ${USERNAME} && \
|
|
adduser -S -G ${USERNAME} ${USERNAME} && \
|
|
mkdir -p ${ARTIFACTORY_HOME} && \
|
|
chown ${USERNAME}:${USERNAME} ${ARTIFACTORY_HOME}
|
|
|
|
WORKDIR ${ARTIFACTORY_HOME}
|
|
COPY --from=builder app.jar app.jar
|
|
RUN chown ${USERNAME}:${USERNAME} app.jar
|
|
|
|
USER ${USERNAME}
|
|
|
|
ENTRYPOINT [ "sh", "-c" ]
|
|
CMD ["java ${JAVA_OPTS} -jar app.jar"]
|