Skip to content

Commit 5375dca

Browse files
authored
migrate images to quay.io (#33)
* migrate to quay.io * debug casdoor build * debug casdoor
1 parent 5798180 commit 5375dca

File tree

4 files changed

+33
-26
lines changed

4 files changed

+33
-26
lines changed

.github/workflows/build-docker.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,26 @@ on:
44
push:
55
branches: [ "main" ]
66
paths-ignore: [ "*.md" ]
7+
78
pull_request:
89
branches: [ "main" ]
910
paths-ignore: [ "*.md" ]
11+
1012
workflow_dispatch: # Allows you to run this workflow manually from the Actions tab
1113

1214
concurrency:
1315
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
14-
cancel-in-progress: true
16+
cancel-in-progress: true
1517

1618
env:
1719
BUILDKIT_PROGRESS: "plain" # Full logs for CI build.
18-
REGISTRY_URL: "docker.io" # docker.io or other target registry URL: where to push images to.
19-
REGISTRY_SRC: "docker.io" # For BASE_NAMESPACE of images: where to pull base images from.
20+
REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'docker.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL.
21+
REGISTRY_DST: ${{ vars.REGISTRY_DST || 'docker.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL.
2022
# DOCKER_REGISTRY_USERNAME and DOCKER_REGISTRY_PASSWORD is required for docker image push, they should be set in CI secrets.
21-
DOCKER_REGISTRY_USERNAME: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
23+
DOCKER_REGISTRY_USERNAME: ${{ vars.DOCKER_REGISTRY_USERNAME }}
2224
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
2325
# used to sync image to mirror registry
24-
DOCKER_MIRROR_REGISTRY_USERNAME: ${{ secrets.DOCKER_MIRROR_REGISTRY_USERNAME }}
26+
DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }}
2527
DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }}
2628

2729
jobs:
@@ -149,7 +151,10 @@ jobs:
149151
runs-on: ubuntu-latest
150152
steps:
151153
- uses: actions/checkout@v4
152-
- run: |
154+
- env:
155+
AUTH_FILE_CONTENT: ${{ secrets.AUTH_FILE_CONTENT }}
156+
DOCKER_MIRROR_REGISTRY: ${{ vars.DOCKER_MIRROR_REGISTRY }}
157+
run: |
153158
source ./tool.sh
154159
printenv | sort > /tmp/docker.env
155160
docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_NAMESPACE:-qpod}/docker-kit \

docker_casdoor/Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG}
1818
COPY --from=builder /opt/casdoor /opt/casdoor
1919
COPY work/app.conf /opt/casdoor/conf/app.conf
2020
RUN set -eux \
21-
&& mkdir -pv /root/web && ln -sf /opt/casdoor/web/build /root/web/ \
22-
&& ls -alh /opt/casdoor
21+
&& mkdir -pv /root/web && ln -sf /opt/casdoor/web/build /root/web/ && ls -alh /opt/casdoor/web \
22+
&& chmod +x /opt/casdoor/docker-entrypoint.sh && ls -alh /opt/casdoor
2323

2424
LABEL maintainer="haobibo@gmail.com"
2525
ENV RUNNING_IN_DOCKER true
2626
WORKDIR /opt/casdoor
2727
EXPOSE 8000
28+
# ENTRYPOINT ["/bin/bash"]
29+
# CMD ["/opt/casdoor/docker-entrypoint.sh"]

docker_casdoor/work/script-setup-casdoor.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@ setup_casdoor() {
1616
&& echo "${VER_CASDOOR}" > version_info.txt \
1717
&& mv "./server_linux_${ARCH}" ./swagger ./version_info.txt /opt/casdoor/ \
1818
&& ln -sf "/opt/casdoor/server_linux_${ARCH}" /opt/casdoor/server \
19-
&& cat ./conf/app.conf | sort > /opt/casdoor/conf/app.conf
19+
&& cat ./conf/app.conf | sort > /opt/casdoor/conf/app.conf \
20+
&& mv ./docker-entrypoint.sh /opt/casdoor/
2021
# && go test -v -run TestGetVersionInfo ./util/system_test.go ./util/system.go > version_info.txt \
2122

2223
echo "--> Building Frontend..." \
2324
&& cd /tmp && corepack enable && yarn -v \
2425
&& cd /tmp/casdoor/web \
2526
&& yarn set version berry && yarn install && yarn run build \
26-
&& mv ./build /opt/casdoor/web/
27+
&& mv ./build*/* /opt/casdoor/web/
2728
# && yarn install --frozen-lockfile && yarn run build \
2829

2930
echo "--> Finished building casdoor to /opt/casdoor!" \

tool.sh

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,52 +14,51 @@ else
1414
fi
1515

1616
export IMG_NAMESPACE=$(echo "${CI_PROJECT_NAMESPACE}" | awk '{print tolower($0)}')
17-
export IMG_PREFIX=$(echo "${REGISTRY_URL:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}')
17+
export IMG_PREFIX_SRC=$(echo "${REGISTRY_SRC:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}')
18+
export IMG_PREFIX_DST=$(echo "${REGISTRY_DST:-"docker.io"}/${IMG_NAMESPACE}" | awk '{print tolower($0)}')
1819
export TAG_SUFFIX="-$(git rev-parse --short HEAD)"
1920

2021
echo "--------> CI_PROJECT_NAMESPACE=${CI_PROJECT_NAMESPACE}"
2122
echo "--------> DOCKER_IMG_NAMESPACE=${IMG_NAMESPACE}"
22-
echo "--------> DOCKER_IMG_PREFIX=${IMG_PREFIX}"
23+
echo "--------> DOCKER_IMG_PREFIX_SRC=${IMG_PREFIX_SRC}"
24+
echo "--------> DOCKER_IMG_PREFIX_DST=${IMG_PREFIX_DST}"
2325
echo "--------> DOCKER_TAG_SUFFIX=${TAG_SUFFIX}"
2426

25-
if [ -f /etc/docker/daemon.json ]; then
26-
jq '.experimental=true | ."data-root"="/mnt/docker"' /etc/docker/daemon.json > /tmp/daemon.json && sudo mv /tmp/daemon.json /etc/docker/ \
27-
&& ( sudo service docker restart || true )
28-
fi
29-
cat /etc/docker/daemon.json
30-
docker info
27+
[ ! -f /etc/docker/daemon.json ] && sudo tee /etc/docker/daemon.json > /dev/null <<< '{}'
28+
jq '.experimental=true | ."data-root"="/mnt/docker"' /etc/docker/daemon.json > /tmp/daemon.json && sudo mv /tmp/daemon.json /etc/docker/
29+
( sudo service docker restart || true ) && cat /etc/docker/daemon.json && docker info
3130

3231
build_image() {
3332
echo "$@" ;
3433
IMG=$1; TAG=$2; FILE=$3; shift 3; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX}; WORKDIR="$(dirname $FILE)";
35-
docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ;
36-
docker tag "${IMG_PREFIX}/${IMG}:${TAG}" "${IMG_PREFIX}/${IMG}:${VER}" ;
34+
docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ;
35+
docker tag "${IMG_PREFIX_DST}/${IMG}:${TAG}" "${IMG_PREFIX_DST}/${IMG}:${VER}" ;
3736
}
3837

3938
build_image_no_tag() {
4039
echo "$@" ;
4140
IMG=$1; TAG=$2; FILE=$3; shift 3; WORKDIR="$(dirname $FILE)";
42-
docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ;
41+
docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ;
4342
}
4443

4544
build_image_common() {
4645
echo "$@" ;
4746
IMG=$1; TAG=$2; FILE=$3; shift 3; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX}; WORKDIR="$(dirname $FILE)";
48-
docker build --compress --force-rm=true -t "${IMG_PREFIX}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX}" "$@" "${WORKDIR}" ;
49-
docker tag "${IMG_PREFIX}/${IMG}:${TAG}" "${IMG_PREFIX}/${IMG}:${VER}" ;
47+
docker build --compress --force-rm=true -t "${IMG_PREFIX_DST}/${IMG}:${TAG}" -f "$FILE" --build-arg "BASE_NAMESPACE=${IMG_PREFIX_SRC}" "$@" "${WORKDIR}" ;
48+
docker tag "${IMG_PREFIX_DST}/${IMG}:${TAG}" "${IMG_PREFIX_DST}/${IMG}:${VER}" ;
5049
}
5150

5251
alias_image() {
5352
IMG_1=$1; TAG_1=$2; IMG_2=$3; TAG_2=$4; shift 4; VER=$(date +%Y.%m%d.%H%M)${TAG_SUFFIX};
54-
docker tag "${IMG_PREFIX}/${IMG_1}:${TAG_1}" "${IMG_PREFIX}/${IMG_2}:${TAG_2}" ;
55-
docker tag "${IMG_PREFIX}/${IMG_2}:${TAG_2}" "${IMG_PREFIX}/${IMG_2}:${VER}" ;
53+
docker tag "${IMG_PREFIX_DST}/${IMG_1}:${TAG_1}" "${IMG_PREFIX_DST}/${IMG_2}:${TAG_2}" ;
54+
docker tag "${IMG_PREFIX_DST}/${IMG_2}:${TAG_2}" "${IMG_PREFIX_DST}/${IMG_2}:${VER}" ;
5655
}
5756

5857
push_image() {
5958
KEYWORD="${1:-second}";
6059
docker image prune --force && docker images | sort;
6160
IMAGES=$(docker images | grep "${KEYWORD}" | awk '{print $1 ":" $2}') ;
62-
echo "$DOCKER_REGISTRY_PASSWORD" | docker login "${REGISTRY_URL}" -u "$DOCKER_REGISTRY_USERNAME" --password-stdin ;
61+
echo "$DOCKER_REGISTRY_PASSWORD" | docker login "${REGISTRY_DST}" -u "$DOCKER_REGISTRY_USERNAME" --password-stdin ;
6362
for IMG in $(echo "${IMAGES}" | tr " " "\n") ;
6463
do
6564
docker push "${IMG}";

0 commit comments

Comments
 (0)