build: add repo-owned service image build entrypoints
This commit is contained in:
parent
621b15079e
commit
fe434bdbd6
73
ci/build-service-image.sh
Executable file
73
ci/build-service-image.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
SERVICE_NAME="${1:-}"
|
||||
IMAGE_REF="${2:-}"
|
||||
SERVICE_VERSION="${SERVICE_VERSION:-${3:-dev}}"
|
||||
MAVEN_REPO_LOCAL="${MAVEN_REPO_LOCAL:-${HOME}/.m2/repository}"
|
||||
DOCKER_PLATFORM="${DOCKER_PLATFORM:-linux/amd64}"
|
||||
SKIP_MAVEN_BUILD="${SKIP_MAVEN_BUILD:-0}"
|
||||
|
||||
if [ -z "${SERVICE_NAME}" ] || [ -z "${IMAGE_REF}" ]; then
|
||||
echo "usage: ci/build-service-image.sh <service> <image-ref> [service-version]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "${SERVICE_NAME}" in
|
||||
auth)
|
||||
MODULE_PATH="rc-auth"
|
||||
DOCKER_CONTEXT="rc-auth"
|
||||
;;
|
||||
gateway)
|
||||
MODULE_PATH="rc-gateway"
|
||||
DOCKER_CONTEXT="rc-gateway"
|
||||
;;
|
||||
external)
|
||||
MODULE_PATH="rc-service/rc-service-external/external-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-external"
|
||||
;;
|
||||
console)
|
||||
MODULE_PATH="rc-service/rc-service-console/console-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-console"
|
||||
;;
|
||||
other)
|
||||
MODULE_PATH="rc-service/rc-service-other/other-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-other"
|
||||
;;
|
||||
live)
|
||||
MODULE_PATH="rc-service/rc-service-live/live-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-live"
|
||||
;;
|
||||
wallet)
|
||||
MODULE_PATH="rc-service/rc-service-wallet/wallet-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-wallet"
|
||||
;;
|
||||
order)
|
||||
MODULE_PATH="rc-service/rc-service-order/order-start"
|
||||
DOCKER_CONTEXT="rc-service/rc-service-order"
|
||||
;;
|
||||
*)
|
||||
echo "unsupported service: ${SERVICE_NAME}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cd "${ROOT_DIR}"
|
||||
|
||||
if [ "${SKIP_MAVEN_BUILD}" != "1" ]; then
|
||||
"${ROOT_DIR}/ci/install-private-maven.sh"
|
||||
|
||||
mvn -Dmaven.repo.local="${MAVEN_REPO_LOCAL}" \
|
||||
-pl "${MODULE_PATH}" \
|
||||
-am \
|
||||
-Dmaven.test.skip=true \
|
||||
clean package
|
||||
fi
|
||||
|
||||
docker build \
|
||||
--platform "${DOCKER_PLATFORM}" \
|
||||
-f "${DOCKER_CONTEXT}/Dockerfile" \
|
||||
--build-arg "SERVICE_VERSION=${SERVICE_VERSION}" \
|
||||
-t "${IMAGE_REF}" \
|
||||
"${DOCKER_CONTEXT}"
|
||||
34
ci/install-private-maven.sh
Executable file
34
ci/install-private-maven.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
MAVEN_REPO_LOCAL="${MAVEN_REPO_LOCAL:-${HOME}/.m2/repository}"
|
||||
PRIVATE_ROOT="${ROOT_DIR}/maven_private"
|
||||
|
||||
if [ ! -d "${PRIVATE_ROOT}" ]; then
|
||||
echo "missing private maven directory: ${PRIVATE_ROOT}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
find "${PRIVATE_ROOT}" -mindepth 2 -maxdepth 2 -type d | sort | while read -r version_dir; do
|
||||
pom_file="$(find "${version_dir}" -maxdepth 1 -type f -name '*.pom' | sort | head -1)"
|
||||
if [ -z "${pom_file}" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
jar_file="$(find "${version_dir}" -maxdepth 1 -type f -name '*.jar' ! -name 'original-*' | sort | head -1 || true)"
|
||||
if [ -n "${jar_file}" ]; then
|
||||
mvn -Dmaven.repo.local="${MAVEN_REPO_LOCAL}" \
|
||||
install:install-file \
|
||||
-DpomFile="${pom_file}" \
|
||||
-Dfile="${jar_file}" \
|
||||
-DgeneratePom=false
|
||||
else
|
||||
mvn -Dmaven.repo.local="${MAVEN_REPO_LOCAL}" \
|
||||
install:install-file \
|
||||
-DpomFile="${pom_file}" \
|
||||
-Dfile="${pom_file}" \
|
||||
-Dpackaging=pom \
|
||||
-DgeneratePom=false
|
||||
fi
|
||||
done
|
||||
@ -1,17 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-auth"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-auth"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY target/rc-auth-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY target/rc-auth-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-gateway"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-gateway"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY target/rc-gateway-*.jar service.jar
|
||||
WORKDIR /application
|
||||
COPY target/rc-gateway-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
MAINTAINER pengliang
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-console"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-console"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY console-start/target/rc-service-console-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY console-start/target/rc-service-console-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
@ -33,4 +34,3 @@ ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-jar /application/service.jar \
|
||||
--server.port=$SERVER_PORT \
|
||||
--spring.profiles.active=$SERVER_PROFILE_ACTIVE
|
||||
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-external"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-external"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY external-start/target/rc-service-external-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY external-start/target/rc-service-external-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-live"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-live"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY live-start/target/rc-service-live-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY live-start/target/rc-service-live-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-order"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-order"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY order-start/target/rc-service-order-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY order-start/target/rc-service-order-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-other"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-other"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
|
||||
RUN mkdir -p /application /logs
|
||||
WORKDIR application
|
||||
COPY other-start/target/rc-service-other-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY other-start/target/rc-service-other-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
@ -1,17 +1,19 @@
|
||||
#FROM openjdk:17
|
||||
FROM 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/likei-dev:amazoncorretto-17
|
||||
FROM eclipse-temurin:17-jre-jammy
|
||||
|
||||
ARG SERVICE_VERSION="v1"
|
||||
ENV RC_SERVICE_NAME "rc-service-wallet"
|
||||
ENV RC_SERVICE_VERSION $SERVICE_VERSION
|
||||
ARG SERVICE_VERSION="dev"
|
||||
ENV RC_SERVICE_NAME="rc-service-wallet"
|
||||
ENV RC_SERVICE_VERSION="${SERVICE_VERSION}"
|
||||
|
||||
ENV SERVER_PORT="9000"
|
||||
ENV SERVER_PROFILE_ACTIVE "prod"
|
||||
ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
ENV SERVER_PROFILE_ACTIVE="prod"
|
||||
ENV JVM_OPTION="-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0"
|
||||
|
||||
RUN mkdir -p /application
|
||||
WORKDIR application
|
||||
COPY wallet-start/target/rc-service-wallet-*.jar service.jar
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends wget ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /application
|
||||
COPY wallet-start/target/rc-service-wallet-*.jar /application/service.jar
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
|
||||
-Dnacos.remote.client.grpc.timeout=6000 \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user