@@ -6,6 +6,7 @@ DOCKERHUB_USER="${DOCKERHUB_USER:-yunomix2834}"
66DOCKERHUB_TOKEN=" ${DOCKERHUB_TOKEN:- } "
77IMAGE_TAG=" ${IMAGE_TAG:- $(date +% Y% m% d.% H% M% S)} "
88DOCKER_PLATFORMS=" ${DOCKER_PLATFORMS:- linux/ amd64} "
9+ GH_OWNER_LC=" $( echo " ${GITHUB_REPOSITORY_OWNER:- ${GITHUB_REPOSITORY%%/* } } " | tr ' [:upper:]' ' [:lower:]' ) "
910
1011# Xác định DOCKER_GID an toàn
1112if [[ " ${OSTYPE:- } " == " darwin" * ]]; then
@@ -25,6 +26,13 @@ login() {
2526 else
2627 log " DOCKERHUB_TOKEN empty -> skip docker login (build will fail on --push if registry requires auth)"
2728 fi
29+
30+ if [ -n " ${GITHUB_TOKEN:- } " ]; then
31+ log " Logging in GHCR as ${GITHUB_ACTOR:- github-actions} "
32+ echo " ${GITHUB_TOKEN} " | docker login ghcr.io -u " ${GITHUB_ACTOR:- github-actions} " --password-stdin
33+ else
34+ log " GITHUB_TOKEN empty -> skip GHCR login"
35+ fi
2836}
2937
3038extra_tags_args () {
@@ -35,23 +43,27 @@ extra_tags_args() {
3543 args+=(-t " ${repo} :${version} " )
3644 fi
3745 if [ " ${GITHUB_REF_NAME:- } " = " main" ]; then
38- args+=(-t " ${repo} :latest" )
46+ args+=(-t " ${repo} :latest}" )
47+ args=(" ${args[@]::- 1} " " -t" " ${repo} :latest" )
3948 fi
4049 printf ' %s ' " ${args[@]} "
4150}
4251
4352build_push_coding () {
4453 local module=" ${1:- coding-service} "
45- local repo=" ${DOCKERHUB_USER} /codecampus-${module} "
54+ local repo_dh=" ${DOCKERHUB_USER} /codecampus-${module} "
55+ local repo_gh=" ghcr.io/${GH_OWNER_LC} /codecampus-${module} "
4656
47- log " Building coding-service with DOCKER_GID=${DOCKER_GID} "
57+ log " Building ${module} with DOCKER_GID=${DOCKER_GID} "
4858 docker buildx build \
4959 --platform " ${DOCKER_PLATFORMS} " \
5060 -f docker/java-service-coding.Dockerfile \
5161 --build-arg " MODULE=${module} " \
5262 --build-arg " DOCKER_HOST_GID=${DOCKER_GID} " \
53- -t " ${repo} :${IMAGE_TAG} " \
54- $( extra_tags_args " ${repo} " ) \
63+ -t " ${repo_dh} :${IMAGE_TAG} " \
64+ -t " ${repo_gh} :${IMAGE_TAG} " \
65+ $( extra_tags_args " ${repo_dh} " ) \
66+ $( extra_tags_args " ${repo_gh} " ) \
5567 --label " org.opencontainers.image.source=${GITHUB_SERVER_URL:- } /$( [ -n " ${GITHUB_REPOSITORY:- } " ] && echo " ${GITHUB_REPOSITORY} " ) " \
5668 --label " org.opencontainers.image.revision=${GITHUB_SHA:- } " \
5769 --label " org.opencontainers.image.created=$( date -u +%Y-%m-%dT%H:%M:%SZ) " \
0 commit comments