feat: dind

This commit is contained in:
Yoshino-s
2023-06-06 11:04:21 +08:00
parent cc47f6ee4f
commit ca8247d91d

View File

@@ -13,29 +13,33 @@ generate:
- pip install -r requirements.txt - pip install -r requirements.txt
- ./update.py > tags.txt - ./update.py > tags.txt
artifacts: artifacts:
expire_in: 1 hour
paths: paths:
- tags.txt - tags.txt
build: build:
stage: build
needs: needs:
- job: generate - job: generate
artifacts: true artifacts: true
image: docker:latest
stage: build
services:
- docker:dind
variables: variables:
KANIKO_ARGS: "--cache=true --cache-repo $CI_REGISTRY_IMAGE --cache-ttl $CACHE_TTL" DOCKER_HOST: tcp://docker:2376
KANIKO_BUILD_CONTEXT: $CI_PROJECT_DIR DOCKER_TLS_CERTDIR: "/certs"
image: DOCKER_TLS_VERIFY: 1
name: gcr.io/kaniko-project/executor:debug DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
entrypoint: [""] before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker info
script: script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n ${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD} | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
- mkdir -p /kaniko/.docker
- | - |
for tag in $(cat tags.txt); do for tag in $(cat tags.txt); do
export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag export IMAGE_TAG=$CI_REGISTRY_IMAGE:$tag
echo $IMAGE_TAG echo $IMAGE_TAG
DOCKERFILE_PATH=$KANIKO_BUILD_CONTEXT/Dockerfile sed "s/latest/$tag/g" Dockerfile > Dockerfile.tmp
sed "s/latest/$tag/g" $DOCKERFILE_PATH > $DOCKERFILE_PATH.tmp docker build . --pull -f Dockerfile.tmp -t $IMAGE_TAG
/kaniko/executor --context $KANIKO_BUILD_CONTEXT --dockerfile $DOCKERFILE_PATH.tmp --destination $IMAGE_TAG $KANIKO_ARGS docker push $IMAGE_TAG
done done