Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-docs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Read <eread@gitlab.com>2022-06-06 03:35:18 +0300
committerEvan Read <eread@gitlab.com>2022-06-07 06:56:32 +0300
commit6d888a1d0ef973db420853ea8b5e6f258e5bba46 (patch)
tree9f452ab20d845e9085da05b06937eef070c716d8
parented77855b7fab8c2fd082b5626ef4fa8ad6889ca9 (diff)
Use new base image for jobseread/use-new-base-image
Also: - Add all system dependencies to base image. - Move more images to post-merge deployment (not manual). - Move deployment job to deploy stage. - Use latest deployed base image for other images.
-rw-r--r--.gitlab-ci.yml40
-rw-r--r--dockerfiles/gitlab-docs-base.Dockerfile46
-rw-r--r--dockerfiles/gitlab-docs-lint-html.Dockerfile33
-rw-r--r--dockerfiles/gitlab-docs-lint-markdown.Dockerfile29
-rw-r--r--dockerfiles/single.Dockerfile34
5 files changed, 58 insertions, 124 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 33899b98..e6febe98 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,7 +8,7 @@ include:
- '/ci/danger-review.yml'
default:
- image: registry.gitlab.com/gitlab-org/gitlab-docs:base
+ image: registry.gitlab.com/gitlab-org/gitlab-docs/base:alpine-3.15-ruby-2.7.5-ed77855b
tags:
- gitlab-org
# Check Ruby, RubyGems, and Bundler versions and install gems
@@ -580,20 +580,23 @@ pages:
#
# Build and deploy the GitLab Docs linting (Markdown) Docker image
#
-image:docs-lint-markdown:
+build-deploy:image:docs-lint-markdown:
extends:
- - .rules_scheduled_manual
- .docker_prepare
- stage: build-images
+ stage: deploy
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/lint-markdown:alpine-$ALPINE_VERSION-vale-$VALE_VERSION-markdownlint-$MARKDOWNLINT_VERSION
DOCKERFILE: dockerfiles/gitlab-docs-lint-markdown.Dockerfile
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ changes:
+ - $DOCKERFILE
script:
- docker build
- --build-arg ALPINE_VERSION=${ALPINE_VERSION}
- --build-arg VALE_VERSION=${VALE_VERSION}
- --build-arg MARKDOWNLINT_VERSION=${MARKDOWNLINT_VERSION}
- -t $IMAGE_NAME -f $DOCKERFILE .
+ --build-arg VALE_VERSION=${VALE_VERSION}
+ --build-arg MARKDOWNLINT_VERSION=${MARKDOWNLINT_VERSION}
+ --tag $IMAGE_NAME
+ --file $DOCKERFILE .
- docker push $IMAGE_NAME
environment:
name: registry/docs-lint-markdown
@@ -614,7 +617,6 @@ test:image:docs-lint-markdown:
- $DOCKERFILE
script:
- docker build
- --build-arg ALPINE_VERSION=${ALPINE_VERSION}
--build-arg VALE_VERSION=${VALE_VERSION}
--build-arg MARKDOWNLINT_VERSION=${MARKDOWNLINT_VERSION}
--file $DOCKERFILE .
@@ -622,19 +624,21 @@ test:image:docs-lint-markdown:
#
# Build and deploy the GitLab Docs linting (HTML) Docker image
#
-image:docs-lint-html:
+build-deploy:image:docs-lint-html:
extends:
- - .rules_scheduled_manual
- .docker_prepare
- stage: build-images
+ stage: deploy
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/lint-html:alpine-$ALPINE_VERSION-ruby-$RUBY_VERSION-$CI_COMMIT_SHORT_SHA
DOCKERFILE: dockerfiles/gitlab-docs-lint-html.Dockerfile
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ changes:
+ - $DOCKERFILE
script:
- docker build
- --build-arg RUBY_VERSION=${RUBY_VERSION}
- --build-arg ALPINE_VERSION=${ALPINE_VERSION}
- -t $IMAGE_NAME -f $DOCKERFILE .
+ --tag $IMAGE_NAME
+ --file $DOCKERFILE .
- docker push $IMAGE_NAME
environment:
name: registry/docs-lint-html
@@ -655,8 +659,6 @@ test:image:docs-lint-html:
- $DOCKERFILE
script:
- docker build
- --build-arg RUBY_VERSION=${RUBY_VERSION}
- --build-arg ALPINE_VERSION=${ALPINE_VERSION}
--file $DOCKERFILE .
#
@@ -665,7 +667,7 @@ test:image:docs-lint-html:
build-deploy:image:gitlab-docs-base:
extends:
- .docker_prepare
- stage: build-images
+ stage: deploy
variables:
IMAGE_NAME: $CI_REGISTRY_IMAGE/base:alpine-$ALPINE_VERSION-ruby-$RUBY_VERSION-$CI_COMMIT_SHORT_SHA
DOCKERFILE: dockerfiles/gitlab-docs-base.Dockerfile
@@ -692,7 +694,6 @@ test:image:gitlab-docs-base:
stage: test
needs: []
variables:
- IMAGE_NAME: $CI_REGISTRY_IMAGE/base:alpine-$ALPINE_VERSION-ruby-$RUBY_VERSION-$CI_COMMIT_SHORT_SHA
DOCKERFILE: dockerfiles/gitlab-docs-base.Dockerfile
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
@@ -702,7 +703,6 @@ test:image:gitlab-docs-base:
- docker build
--build-arg ALPINE_VERSION=${ALPINE_VERSION}
--build-arg RUBY_VERSION=${RUBY_VERSION}
- --tag $IMAGE_NAME
--file $DOCKERFILE .
#
diff --git a/dockerfiles/gitlab-docs-base.Dockerfile b/dockerfiles/gitlab-docs-base.Dockerfile
index 81d27f16..411598b2 100644
--- a/dockerfiles/gitlab-docs-base.Dockerfile
+++ b/dockerfiles/gitlab-docs-base.Dockerfile
@@ -8,32 +8,34 @@ FROM ruby:${RUBY_VERSION}-alpine${ALPINE_VERSION}
# Install dependencies
RUN printf "\n\e[32mINFO: Installing dependencies..\e[39m\n" && apk add --no-cache -U \
- bash \
- build-base \
- curl \
- gcompat \
- git \
- gnupg \
- go \
- grep \
- gzip \
- jq \
- libcurl \
- libxslt \
- libxslt-dev \
- nodejs \
- openssl \
- pngquant \
- ruby-dev \
- tar \
- xz \
- xz-dev \
- yarn \
+ bash \
+ build-base \
+ curl \
+ gcompat \
+ git \
+ gnupg \
+ grep \
+ gzip \
+ jq \
+ libc6-compat \
+ libcurl \
+ libxslt \
+ libxslt-dev \
+ nodejs \
+ openssl \
+ parallel \
+ pngquant \
+ ruby-dev \
+ tar \
+ xz \
+ xz-dev \
+ yarn \
&& echo 'gem: --no-document' >> /etc/gemrc \
- && gem update --silent --system 3.3.13 \
+ && gem update --silent --system \
&& printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
&& echo "Ruby: $(ruby --version)" \
&& echo "RubyGems: $(gem --version)" \
+ && echo "Bundler: $(bundle --version)" \
&& echo "Node.js: $(node --version)" \
&& echo "Yarn: $(yarn --version)" \
&& printf "\n"
diff --git a/dockerfiles/gitlab-docs-lint-html.Dockerfile b/dockerfiles/gitlab-docs-lint-html.Dockerfile
index 5e722407..bfee8eb1 100644
--- a/dockerfiles/gitlab-docs-lint-html.Dockerfile
+++ b/dockerfiles/gitlab-docs-lint-html.Dockerfile
@@ -1,37 +1,12 @@
# GitLab Docs linting (HTML) Docker image
#
-# RUBY_VERSION and ALPINE_VERSION are defined in ../.gitlab-ci.yml
-ARG RUBY_VERSION
-ARG ALPINE_VERSION
+FROM registry.gitlab.com/gitlab-org/gitlab-docs/base:alpine-3.15-ruby-2.7.5-ed77855b
-FROM ruby:${RUBY_VERSION}-alpine${ALPINE_VERSION}
-
-# Install dependencies
-RUN printf "\n\e[32mINFO: Installing dependencies..\e[39m\n" && apk add --no-cache -U \
- bash \
- build-base \
- curl \
- gcompat \
- git \
- gnupg \
- grep \
- gzip \
- libcurl \
- libxslt \
- libxslt-dev \
- nodejs \
- openssl \
- parallel \
- ruby-dev \
- tar \
- xz \
- xz-dev \
- yarn \
- && echo 'gem: --no-document' >> /etc/gemrc \
- && gem update --system 3.3.13 \
- && printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
+# Report dependencies
+RUN printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
&& echo "Ruby: $(ruby --version)" \
&& echo "RubyGems: $(gem --version)" \
+ && echo "Bundler: $(bundle --version)" \
&& echo "Node.js: $(node --version)" \
&& echo "Yarn: $(yarn --version)" \
&& printf "\n"
diff --git a/dockerfiles/gitlab-docs-lint-markdown.Dockerfile b/dockerfiles/gitlab-docs-lint-markdown.Dockerfile
index 58f3725a..211e0fb0 100644
--- a/dockerfiles/gitlab-docs-lint-markdown.Dockerfile
+++ b/dockerfiles/gitlab-docs-lint-markdown.Dockerfile
@@ -1,33 +1,16 @@
# GitLab Docs linting (Markdown) Docker image
#
-# ALPINE_VERSION is defined in ../.gitlab-ci.yml
-ARG ALPINE_VERSION
-
-FROM alpine:${ALPINE_VERSION}
+FROM registry.gitlab.com/gitlab-org/gitlab-docs/base:alpine-3.15-ruby-2.7.5-ed77855b
# VALE_VERSION and MARKDOWNLINT_VERSION are defined in .gitlab-ci.yml
ARG VALE_VERSION
ARG MARKDOWNLINT_VERSION
-# Install dependencies
-RUN printf "\n\e[32mINFO: Installing dependencies..\e[39m\n" && apk add --no-cache -U \
- bash \
- build-base \
- curl \
- gcompat \
- git \
- gnupg \
- grep \
- libc6-compat \
- libcurl \
- libxslt \
- libxslt-dev \
- nodejs \
- openssl \
- pngquant \
- tar \
- yarn \
- && printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
+# Report dependencies
+RUN printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
+ && echo "Ruby: $(ruby --version)" \
+ && echo "RubyGems: $(gem --version)" \
+ && echo "Bundler: $(bundle --version)" \
&& echo "Node.js: $(node --version)" \
&& echo "Yarn: $(yarn --version)" \
&& printf "\n"
diff --git a/dockerfiles/single.Dockerfile b/dockerfiles/single.Dockerfile
index 4794e66c..1bdfb162 100644
--- a/dockerfiles/single.Dockerfile
+++ b/dockerfiles/single.Dockerfile
@@ -19,7 +19,7 @@ RUN apk add --no-cache git \
#- Start of builder stage -#
-FROM ruby:2.7.5-alpine3.15 AS builder
+FROM registry.gitlab.com/gitlab-org/gitlab-docs/base:alpine-3.15-ruby-2.7.5-ed77855b AS builder
# Copy minifier binary from the minifier stage
COPY --from=minifier /minify /usr/local/bin/minify
@@ -37,37 +37,11 @@ ENV BRANCH_CHARTS=W-Z-stable
# Set NANOC_ENV to production
ENV NANOC_ENV=production
-#
-# Install Nanoc dependencies and tools that
-# are needed to build the docs site and run the tests.
-#
-RUN apk add --no-cache -U \
- bash \
- build-base \
- curl \
- gcompat \
- git \
- gnupg \
- go \
- grep \
- gzip \
- jq \
- libcurl \
- libxslt \
- libxslt-dev \
- nodejs \
- openssl \
- pngquant \
- ruby-dev \
- tar \
- xz \
- xz-dev \
- yarn \
- && echo 'gem: --no-document' >> /etc/gemrc \
- && gem update --silent --system 3.3.13 \
- && printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
+# Report dependencies
+RUN printf "\n\e[32mINFO: Dependency versions:\e[39m\n" \
&& echo "Ruby: $(ruby --version)" \
&& echo "RubyGems: $(gem --version)" \
+ && echo "Bundler: $(bundle --version)" \
&& echo "Node.js: $(node --version)" \
&& echo "Yarn: $(yarn --version)" \
&& printf "\n"