Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
Docker stack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
JupyterLab
R
Docker stack
Commits
8a22b077
Verified
Commit
8a22b077
authored
2 years ago
by
Olivier Benz
Browse files
Options
Downloads
Patches
Plain Diff
Refactor .gitlab-ci.yml
parent
d46d34ee
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
base/.gitlab-ci.yml
+31
-35
31 additions, 35 deletions
base/.gitlab-ci.yml
geospatial/.gitlab-ci.yml
+31
-35
31 additions, 35 deletions
geospatial/.gitlab-ci.yml
tidyverse/.gitlab-ci.yml
+31
-35
31 additions, 35 deletions
tidyverse/.gitlab-ci.yml
verse/.gitlab-ci.yml
+31
-35
31 additions, 35 deletions
verse/.gitlab-ci.yml
with
124 additions
and
140 deletions
base/.gitlab-ci.yml
+
31
−
35
View file @
8a22b077
...
@@ -10,9 +10,7 @@
...
@@ -10,9 +10,7 @@
fi
fi
-
|
-
|
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else
else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...
@@ -21,12 +19,10 @@
...
@@ -21,12 +19,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY
--password-stdin $CI_REGISTRY
-
>
-
>
export VERSION_MAJ_MIN_PAT=$R_VERSION
export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION
_MAJ_MIN_PAT
|
export VERSION_MAJ=`echo $
R_
VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build
:
.build
:
...
@@ -65,13 +61,13 @@ build:latest-linux-amd64:
...
@@ -65,13 +61,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-amd64
-t $CI_APP_REPO:
latest
-linux-amd64
-f latest.Dockerfile .
-f latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-amd64
-t $CI_APP_REPO:
latest
-root-linux-amd64
-f ../common/subtags/root/Dockerfile .
-f ../common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -91,13 +87,13 @@ build:latest-linux-arm64v8:
...
@@ -91,13 +87,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-arm64v8
-t $CI_APP_REPO:
latest
-linux-arm64v8
-f latest.Dockerfile .
-f latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-root-linux-arm64v8
-f ../common/subtags/root/Dockerfile .
-f ../common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -173,16 +169,16 @@ build-manifest:latest-linux-multiarch:
...
@@ -173,16 +169,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
\
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
\
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
docker manifest push $CI_APP_REPO:
latest
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root
docker manifest push $CI_APP_REPO:
latest
-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...
@@ -276,19 +272,19 @@ build:latest-devtools-linux-amd64:
...
@@ -276,19 +272,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-root-linux-amd64
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes
:
changes
:
...
@@ -307,19 +303,19 @@ build:latest-devtools-linux-arm64v8:
...
@@ -307,19 +303,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes
:
changes
:
...
@@ -400,16 +396,16 @@ build-manifest:latest-devtools-linux-multiarch:
...
@@ -400,16 +396,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools
docker manifest push $CI_APP_REPO:
latest
-devtools
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root
docker manifest push $CI_APP_REPO:
latest
-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
...
...
This diff is collapsed.
Click to expand it.
geospatial/.gitlab-ci.yml
+
31
−
35
View file @
8a22b077
...
@@ -11,9 +11,7 @@
...
@@ -11,9 +11,7 @@
fi
fi
-
|
-
|
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else
else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...
@@ -22,12 +20,10 @@
...
@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY
--password-stdin $CI_REGISTRY
-
>
-
>
export VERSION_MAJ_MIN_PAT=$R_VERSION
export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION
_MAJ_MIN_PAT
|
export VERSION_MAJ=`echo $
R_
VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build
:
.build
:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-amd64
-t $CI_APP_REPO:
latest
-linux-amd64
-f geospatial/latest.Dockerfile .
-f geospatial/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-amd64
-t $CI_APP_REPO:
latest
-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-arm64v8
-t $CI_APP_REPO:
latest
-linux-arm64v8
-f geospatial/latest.Dockerfile .
-f geospatial/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
\
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
\
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
docker manifest push $CI_APP_REPO:
latest
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root
docker manifest push $CI_APP_REPO:
latest
-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...
@@ -249,19 +245,19 @@ build:latest-devtools-linux-amd64:
...
@@ -249,19 +245,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-root-linux-amd64
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes
:
changes
:
...
@@ -280,19 +276,19 @@ build:latest-devtools-linux-arm64v8:
...
@@ -280,19 +276,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes
:
changes
:
...
@@ -373,16 +369,16 @@ build-manifest:latest-devtools-linux-multiarch:
...
@@ -373,16 +369,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools
docker manifest push $CI_APP_REPO:
latest
-devtools
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root
docker manifest push $CI_APP_REPO:
latest
-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
...
...
This diff is collapsed.
Click to expand it.
tidyverse/.gitlab-ci.yml
+
31
−
35
View file @
8a22b077
...
@@ -11,9 +11,7 @@
...
@@ -11,9 +11,7 @@
fi
fi
-
|
-
|
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else
else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...
@@ -22,12 +20,10 @@
...
@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY
--password-stdin $CI_REGISTRY
-
>
-
>
export VERSION_MAJ_MIN_PAT=$R_VERSION
export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION
_MAJ_MIN_PAT
|
export VERSION_MAJ=`echo $
R_
VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build
:
.build
:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-amd64
-t $CI_APP_REPO:
latest
-linux-amd64
-f tidyverse/latest.Dockerfile .
-f tidyverse/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-amd64
-t $CI_APP_REPO:
latest
-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-arm64v8
-t $CI_APP_REPO:
latest
-linux-arm64v8
-f tidyverse/latest.Dockerfile .
-f tidyverse/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
\
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
\
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
docker manifest push $CI_APP_REPO:
latest
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root
docker manifest push $CI_APP_REPO:
latest
-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...
@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
...
@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-root-linux-amd64
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes
:
changes
:
...
@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
...
@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes
:
changes
:
...
@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
...
@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools
docker manifest push $CI_APP_REPO:
latest
-devtools
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root
docker manifest push $CI_APP_REPO:
latest
-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
...
...
This diff is collapsed.
Click to expand it.
verse/.gitlab-ci.yml
+
31
−
35
View file @
8a22b077
...
@@ -11,9 +11,7 @@
...
@@ -11,9 +11,7 @@
fi
fi
-
|
-
|
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
export CI_APP_REPO=${CI_APP_REPO:-$CI_REGISTRY_IMAGE}
if [[ $CI_COMMIT_BRANCH == "main" ]]; then
if [[ $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-latest}
elif [[ $CI_COMMIT_BRANCH == "freeze-version" ]]; then
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
export CI_APP_TAG=${CI_APP_TAG:-$R_VERSION}
else
else
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
export CI_APP_TAG=${CI_APP_TAG:-$CI_COMMIT_SHA}
...
@@ -22,12 +20,10 @@
...
@@ -22,12 +20,10 @@
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER
--password-stdin $CI_REGISTRY
--password-stdin $CI_REGISTRY
-
>
-
>
export VERSION_MAJ_MIN_PAT=$R_VERSION
export VERSION_MAJ_MIN=`echo $R_VERSION |
export VERSION_MAJ_MIN=`echo $VERSION_MAJ_MIN_PAT |
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\.[[:digit:]]\+\).*|\1|p"`
export VERSION_MAJ=`echo $VERSION
_MAJ_MIN_PAT
|
export VERSION_MAJ=`echo $
R_
VERSION |
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
sed -n "s|\([[:digit:]]\+\).*|\1|p"`
.build
:
.build
:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
...
@@ -66,13 +62,13 @@ build:latest-linux-amd64:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-amd64
-t $CI_APP_REPO:
latest
-linux-amd64
-f verse/latest.Dockerfile .
-f verse/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-amd64
-t $CI_APP_REPO:
latest
-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
...
@@ -92,13 +88,13 @@ build:latest-linux-arm64v8:
--build-arg R_VERSION
--build-arg R_VERSION
--build-arg NCPUS=$((`nproc`/2+1))
--build-arg NCPUS=$((`nproc`/2+1))
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-linux-arm64v8
-t $CI_APP_REPO:
latest
-linux-arm64v8
-f verse/latest.Dockerfile .
-f verse/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
docker push -a $CI_APP_REPO
-
docker push -a $CI_APP_REPO
rules
:
rules
:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
...
@@ -174,16 +170,16 @@ build-manifest:latest-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
$CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
\
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
\
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-root \
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
docker manifest push $CI_APP_REPO:
latest
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-root
docker manifest push $CI_APP_REPO:
latest
-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-root $CI_MANIFEST_LIST_ROOT
...
@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
...
@@ -277,19 +273,19 @@ build:latest-devtools-linux-amd64:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-linux-amd64
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
-t $CI_APP_REPO:
latest
-devtools-root-linux-amd64
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-amd64
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-amd64
docker push $CI_APP_REPO:
latest
-devtools-root-linux-amd64
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/amd64)/
changes
:
changes
:
...
@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
...
@@ -308,19 +304,19 @@ build:latest-devtools-linux-arm64v8:
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO
--build-arg R_VERSION
--build-arg R_VERSION
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-linux-arm64v8
-f common/subtags/devtools/latest.Dockerfile .
-f common/subtags/devtools/latest.Dockerfile .
-
>
-
>
docker build
docker build
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
--build-arg BUILD_ON_IMAGE=$CI_APP_REPO:$
CI_APP_TAG
-devtools-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
-t $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
-f common/subtags/root/Dockerfile .
-f common/subtags/root/Dockerfile .
-
|
-
|
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root-linux-arm64v8
docker push $CI_APP_REPO:
latest
-devtools-root-linux-arm64v8
rules
:
rules
:
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
-
if
:
$CI_COMMIT_BRANCH == "main" && $UPDATE_MODE != "true" && $CI_BUILD_PLATFORMS =~ /(linux\/arm64\/v8)/
changes
:
changes
:
...
@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
...
@@ -401,16 +397,16 @@ build-manifest:latest-devtools-linux-multiarch:
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
docker manifest push $CI_APP_REPO:$CI_APP_TAG-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
latest
-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:
latest
-devtools-root $CI_MANIFEST_LIST_ROOT
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
if echo $OS_ARCH | grep "linux-arm64v8" >/dev/null ; then
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools \
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-linux-arm64v8
docker manifest annotate --variant v8 $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root \
docker manifest annotate --variant v8 $CI_APP_REPO:
latest
-devtools-root \
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
$CI_APP_REPO:$CI_APP_TAG-devtools-root-linux-arm64v8
fi
fi
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools
docker manifest push $CI_APP_REPO:
latest
-devtools
docker manifest push $CI_APP_REPO:
$VERSION_MAJ_MIN_PAT
-devtools-root
docker manifest push $CI_APP_REPO:
latest
-devtools-root
-
|
-
|
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools $CI_MANIFEST_LIST
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
docker manifest create $CI_APP_REPO:$VERSION_MAJ_MIN-devtools-root $CI_MANIFEST_LIST_ROOT
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment