.docker in docker: tags: - saas-linux-small-amd64 image: docker:26 services: - docker:26-dind rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' when: never - if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH' - when: manual allow_failure: true variables: DOCKER_DRIVER: overlay2 DOCKER_TLS_CERTDIR: "/certs" .build Docker image: stage: docker extends: .docker in docker script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/build Docker image \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker build -t "$IMAGE_NAME" $DOCKER_BUILD_EXTRA_ARGS $DOCKER_DOCKERFILE_PATH - docker tag "$IMAGE_NAME" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" - docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" .test Docker SDK image: stage: docker SDK and IB test extends: .docker in docker script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test Docker image \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" - > docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" sh -c " cd /home/builder && make defconfig && ./scripts/feeds update base && ./scripts/feeds install urngd && sync && sleep 1 && make -j $(nproc) package/urngd/compile V=s && sync && sleep 1 && find ./bin/packages -name urngd*.ipk | grep ^./bin/packages/.*urngd " .test Docker IB image: stage: docker SDK and IB test extends: .docker in docker script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test Docker image \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" - > docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" sh -c " cd /home/builder && make image PROFILE=\"$CI_IB_PROFILE\" PACKAGES=\"$CI_IB_PACKAGES\" " .deploy Docker image: extends: .docker in docker rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' when: never - if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH' script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/deploy Docker image \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" - docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:latest" - docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$IMAGE_NAME:latest" .build LCM container: stage: docker IB LCM container extends: .docker in docker script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/build \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - apk add bash - bash .gitlab/docker/ib/lcm/scripts/build-push-lcm-containers.sh .test LCM container: stage: docker IB LCM container extends: .docker in docker script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/test \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - > set -xe ; for version in 1 2; do image_name="${IMAGE_NAME}-v$version" docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" docker run "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" cat /etc/container-version | grep $version done .deploy LCM container: stage: docker IB LCM container extends: .docker in docker rules: - if: '$CI_PIPELINE_SOURCE == "schedule"' when: never - if: '$CI_COMMIT_BRANCH == $CI_DESIGNATED_BRANCH' script: - export IMAGE_NAME="$(echo $CI_JOB_NAME | sed 's/deploy \(.*\)/\1/')" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - > for version in v1 v2; do image_name="${IMAGE_NAME}-$version" docker pull "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:latest" docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:latest" docker tag "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/$image_name:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/${IMAGE_NAME}:$version" docker push "$CI_REGISTRY_IMAGE/$CI_DESIGNATED_BRANCH_SLUG/${IMAGE_NAME}:$version" done