mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-12 19:42:55 +01:00
Initial version new build pattern
This commit is contained in:
parent
51e4dea7ac
commit
c3e3882320
8 changed files with 75 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
||||||
include:
|
include:
|
||||||
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
||||||
- local: '.gitlab/ci/*.yml'
|
- local: '.gitlab/ci/*.yml'
|
||||||
|
- local: '.gitlab/**/.gitlab-ci.yml'
|
||||||
|
|
||||||
default:
|
default:
|
||||||
image: docker:20.10.9-git
|
image: docker:20.10.9-git
|
||||||
|
|
@ -14,6 +15,7 @@ default:
|
||||||
- gitlab-org-docker
|
- gitlab-org-docker
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
|
- kaniko
|
||||||
- test
|
- test
|
||||||
- deploy
|
- deploy
|
||||||
- automation
|
- automation
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ gitlab-qa-ruby-3.0 test: *test_build
|
||||||
gitlab-qa-alpine-ruby-2.7 test: *test_build
|
gitlab-qa-alpine-ruby-2.7 test: *test_build
|
||||||
gitlab-qa-alpine-ruby-3.0 test: *test_build
|
gitlab-qa-alpine-ruby-3.0 test: *test_build
|
||||||
gitlab-puppeteer test: *test_build
|
gitlab-puppeteer test: *test_build
|
||||||
kaniko test: *test_build
|
|
||||||
omnibus-gitlab-bionic test: *test_build
|
omnibus-gitlab-bionic test: *test_build
|
||||||
omnibus-gitlab-centos7 test: *test_build
|
omnibus-gitlab-centos7 test: *test_build
|
||||||
omnibus-gitlab-centos8 test: *test_build
|
omnibus-gitlab-centos8 test: *test_build
|
||||||
|
|
@ -77,7 +76,6 @@ gitlab-qa-ruby-3.0 push: *build_and_deploy
|
||||||
gitlab-qa-alpine-ruby-2.7 push: *build_and_deploy
|
gitlab-qa-alpine-ruby-2.7 push: *build_and_deploy
|
||||||
gitlab-qa-alpine-ruby-3.0 push: *build_and_deploy
|
gitlab-qa-alpine-ruby-3.0 push: *build_and_deploy
|
||||||
gitlab-puppeteer push: *build_and_deploy
|
gitlab-puppeteer push: *build_and_deploy
|
||||||
kaniko push: *build_and_deploy
|
|
||||||
omnibus-gitlab-bionic push: *build_and_deploy
|
omnibus-gitlab-bionic push: *build_and_deploy
|
||||||
omnibus-gitlab-centos7 push: *build_and_deploy
|
omnibus-gitlab-centos7 push: *build_and_deploy
|
||||||
omnibus-gitlab-centos8 push: *build_and_deploy
|
omnibus-gitlab-centos8 push: *build_and_deploy
|
||||||
|
|
|
||||||
|
|
@ -23,3 +23,19 @@
|
||||||
script:
|
script:
|
||||||
- ./scripts/custom-docker-build --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL"
|
- ./scripts/custom-docker-build --label "ci_pipeline_url=$CI_PIPELINE_URL" --label "ci_job_url=$CI_JOB_URL"
|
||||||
- ./scripts/custom-docker-push
|
- ./scripts/custom-docker-push
|
||||||
|
|
||||||
|
.build-with-kaniko:
|
||||||
|
needs: []
|
||||||
|
tags:
|
||||||
|
- gitlab-org
|
||||||
|
stage: kaniko
|
||||||
|
resource_group: ${CI_COMMIT_REF_SLUG}_${CI_JOB_NAME}
|
||||||
|
image: registry.gitlab.com/gitlab-org/frontend/frontend-build-images/build-image
|
||||||
|
script:
|
||||||
|
- ./scripts/kaniko-image-build "$CI_JOB_NAME"
|
||||||
|
rules:
|
||||||
|
- changes:
|
||||||
|
- ${CI_JOB_NAME}/*
|
||||||
|
- scripts/kaniko-image-build
|
||||||
|
when: always
|
||||||
|
- when: manual
|
||||||
0
kaniko/.gitlab-ci.yml
Normal file
0
kaniko/.gitlab-ci.yml
Normal file
3
kaniko/README.md
Normal file
3
kaniko/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# registry.gitlab.com/gitlab-org/gitlab-build-images/kaniko
|
||||||
|
|
||||||
|
This is a image around the `kaniko` executor
|
||||||
1
kaniko/VERSION
Normal file
1
kaniko/VERSION
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
1.0.0
|
||||||
53
scripts/kaniko-image-build
Executable file
53
scripts/kaniko-image-build
Executable file
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -z "$1" ] || [ ! -d "$1" ]; then
|
||||||
|
echo "Please supply an image that you want to build as an argument"
|
||||||
|
echo "Valid images are:"
|
||||||
|
ls -d -- */
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
IMAGE_BASE=${CI_REGISTRY_IMAGE:-frontend-build-images}
|
||||||
|
IMAGE_NAME=$(echo "$1" | sed "s#/##g")
|
||||||
|
COMMIT_REF=${CI_COMMIT_REF_NAME:-unstable}
|
||||||
|
IMAGE_TAG=$(cat "$IMAGE_NAME/VERSION")
|
||||||
|
|
||||||
|
if [ "$COMMIT_REF" = "$CI_DEFAULT_BRANCH" ]; then
|
||||||
|
DOCKER_IMAGE="$IMAGE_BASE/$IMAGE_NAME:$IMAGE_TAG"
|
||||||
|
else
|
||||||
|
IMAGE_POSTFIX=${CI_COMMIT_SHORT_SHA:-unstable}
|
||||||
|
DOCKER_IMAGE="$IMAGE_BASE/unstable/$IMAGE_NAME:$IMAGE_TAG-$IMAGE_POSTFIX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
KANIKO_ARGS=${KANIKO_ARGS:-}
|
||||||
|
|
||||||
|
if [ "$CI" = "true" ]; then
|
||||||
|
echo "Running on CI, so we check if the image already exists"
|
||||||
|
if crane manifest "$DOCKER_IMAGE" >/dev/null; then
|
||||||
|
echo "Image $DOCKER_IMAGE already exists, skip building"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Not running on CI, so not pushing"
|
||||||
|
KANIKO_ARGS="$KANIKO_ARGS --no-push"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Building image $DOCKER_IMAGE"
|
||||||
|
|
||||||
|
/kaniko/executor \
|
||||||
|
--context "$IMAGE_NAME" \
|
||||||
|
--dockerfile "$IMAGE_NAME/Dockerfile" \
|
||||||
|
--destination "$DOCKER_IMAGE" \
|
||||||
|
--single-snapshot \
|
||||||
|
$KANIKO_ARGS
|
||||||
|
|
||||||
|
if [ "$CI" = "true" ]; then
|
||||||
|
echo "Running on CI, so we push the built image"
|
||||||
|
crane push image.tar "$DOCKER_IMAGE"
|
||||||
|
if [ "$COMMIT_REF" = "$CI_DEFAULT_BRANCH" ]; then
|
||||||
|
echo "Tagging $DOCKER_IMAGE as latest"
|
||||||
|
crane tag "$DOCKER_IMAGE" latest
|
||||||
|
fi
|
||||||
|
fi
|
||||||
Loading…
Add table
Add a link
Reference in a new issue