2 files + 103 − 6 Inline Compare changes Side-by-side Inline Show whitespace changes Files 2 .gitlab-ci.yml 0 → 100644 +96 −0 Original line number Diff line number Diff line stages: - artifacts variables: CI_REGISTRY_IMAGE: harbor.computational.bio.uni-giessen.de/psos/psot VERSIONLABELMETHOD: "OnlyIfThisCommitHasVersion" # options: "OnlyIfThisCommitHasVersion","LastVersionTagInGit" ADDITIONALTAGLIST: latest IMAGE_LABELS: > --label org.opencontainers.image.vendor=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label org.opencontainers.image.authors=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label org.opencontainers.image.revision=$CI_COMMIT_SHA --label org.opencontainers.image.source=$CI_PROJECT_URL --label org.opencontainers.image.documentation=$CI_PROJECT_URL --label org.opencontainers.image.licenses=$CI_PROJECT_URL --label org.opencontainers.image.url=$CI_PROJECT_URL --label vcs-url=$CI_PROJECT_URL --label com.gitlab.ci.user=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label com.gitlab.ci.email=$GITLAB_USER_EMAIL --label com.gitlab.ci.tagorbranch=$CI_COMMIT_REF_NAME --label com.gitlab.ci.pipelineurl=$CI_PIPELINE_URL --label com.gitlab.ci.commiturl=$CI_PROJECT_URL/commit/$CI_COMMIT_SHA --label com.gitlab.ci.cijoburl=$CI_JOB_URL --label com.gitlab.ci.mrurl=$CI_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_ID build-and-deploy-docker-image: stage: artifacts extends: .build-docker-image get-latest-git-version: stage: .pre image: name: alpine/git entrypoint: [""] rules: - if: '$VERSIONLABELMETHOD == "LastVersionTagInGit"' script: - | echo "the google kaniko container does not have git and does not have a packge manager to install it" git clone https://github.com/GoogleContainerTools/kaniko.git cd kaniko echo "$(git describe --abbrev=0 --tags)" > ../VERSIONTAG.txt echo "VERSIONTAG.txt contains $(cat ../VERSIONTAG.txt)" artifacts: paths: - VERSIONTAG.txt # taken from https://gitlab.com/guided-explorations/containers/kaniko-docker-build/-/blob/master/.gitlab-ci.yml .build-docker-image: image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - | echo "Building and shipping image to $CI_REGISTRY_IMAGE" #Build date for opencontainers BUILDDATE="'$(date '+%FT%T%z' | sed -E -n 's/(\+[0-9]{2})([0-9]{2})$/\1:\2/p')'" #rfc 3339 date IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.created=$BUILDDATE --label build-date=$BUILDDATE" #Description for opencontainers BUILDTITLE=$(echo $CI_PROJECT_TITLE | tr " " "_") IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.title=$BUILDTITLE --label org.opencontainers.image.description=$BUILDTITLE" #Add ref.name for opencontainers IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.ref.name=$CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME//\//_}" #Build Version Label and Tag from git tag, LastVersionTagInGit was placed by a previous job artifact if [[ "$VERSIONLABELMETHOD" == "LastVersionTagInGit" ]]; then VERSIONLABEL=$(cat VERSIONTAG.txt); fi if [[ "$VERSIONLABELMETHOD" == "OnlyIfThisCommitHasVersion" ]]; then VERSIONLABEL=$CI_COMMIT_TAG; fi if [[ ! -z "$VERSIONLABEL" ]]; then IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.version=$VERSIONLABEL" ADDITIONALTAGLIST="$ADDITIONALTAGLIST $VERSIONLABEL" fi ADDITIONALTAGLIST="$ADDITIONALTAGLIST $CI_COMMIT_REF_NAME $CI_COMMIT_SHORT_SHA" if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then ADDITIONALTAGLIST="$ADDITIONALTAGLIST latest"; fi if [[ -n "$ADDITIONALTAGLIST" ]]; then for TAG in $ADDITIONALTAGLIST; do TAG=${TAG//\//_} # replace slashes with underscore in tag FORMATTEDTAGLIST="${FORMATTEDTAGLIST} --tag $CI_REGISTRY_IMAGE:$TAG "; done; fi if [[ -n "$ADDITIONALIMAGENAMES" ]]; then for TAG in $ADDITIONALIMAGENAMES; do FORMATTEDTAGLIST="${FORMATTEDTAGLIST} --tag $TAG "; done; fi #Reformat Docker tags to kaniko's --destination argument: FORMATTEDTAGLIST=$(echo "${FORMATTEDTAGLIST}" | sed s/\-\-tag/\-\-destination/g) mkdir -p /kaniko/.docker PROJECTDIR=$CI_PROJECT_DIR if [[ ! -z "$SUB_DIRECTORY" ]]; then PROJECTDIR=$CI_PROJECT_DIR/$SUB_DIRECTORY fi echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json /kaniko/executor --context $PROJECTDIR --dockerfile $PROJECTDIR/Dockerfile $FORMATTEDTAGLIST $IMAGE_LABELS Dockerfile +7 −6 Original line number Diff line number Diff line FROM ubuntu:latest FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive \ NXF_VERSION=21.10.6 RUN apt-get update && \ apt-get install -y python3-pip python3-setuptools python3-sphinx docker.io openjdk-11-jdk-headless wget RUN wget https://github.com/nextflow-io/nextflow/releases/download/v19.01.0/nextflow-19.01.0-all && \ chmod +x nextflow-19.01.0-all && \ mv nextflow-19.01.0-all /usr/local/bin/ && \ ln -s /usr/local/bin/nextflow-19.01.0-all /usr/local/bin/nextflow RUN wget https://github.com/nextflow-io/nextflow/releases/download/v${NXF_VERSION}/nextflow-${NXF_VERSION}-all && \ chmod +x nextflow-${NXF_VERSION}-all && \ mv nextflow-${NXF_VERSION}-all /usr/local/bin/ && \ ln -s /usr/local/bin/nextflow-${NXF_VERSION}-all /usr/local/bin/nextflow RUN pip3 install --upgrade git+https://git.computational.bio.uni-giessen.de/SOaAS/dbxref.git Loading
.gitlab-ci.yml 0 → 100644 +96 −0 Original line number Diff line number Diff line stages: - artifacts variables: CI_REGISTRY_IMAGE: harbor.computational.bio.uni-giessen.de/psos/psot VERSIONLABELMETHOD: "OnlyIfThisCommitHasVersion" # options: "OnlyIfThisCommitHasVersion","LastVersionTagInGit" ADDITIONALTAGLIST: latest IMAGE_LABELS: > --label org.opencontainers.image.vendor=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label org.opencontainers.image.authors=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label org.opencontainers.image.revision=$CI_COMMIT_SHA --label org.opencontainers.image.source=$CI_PROJECT_URL --label org.opencontainers.image.documentation=$CI_PROJECT_URL --label org.opencontainers.image.licenses=$CI_PROJECT_URL --label org.opencontainers.image.url=$CI_PROJECT_URL --label vcs-url=$CI_PROJECT_URL --label com.gitlab.ci.user=$CI_SERVER_URL/$GITLAB_USER_LOGIN --label com.gitlab.ci.email=$GITLAB_USER_EMAIL --label com.gitlab.ci.tagorbranch=$CI_COMMIT_REF_NAME --label com.gitlab.ci.pipelineurl=$CI_PIPELINE_URL --label com.gitlab.ci.commiturl=$CI_PROJECT_URL/commit/$CI_COMMIT_SHA --label com.gitlab.ci.cijoburl=$CI_JOB_URL --label com.gitlab.ci.mrurl=$CI_PROJECT_URL/-/merge_requests/$CI_MERGE_REQUEST_ID build-and-deploy-docker-image: stage: artifacts extends: .build-docker-image get-latest-git-version: stage: .pre image: name: alpine/git entrypoint: [""] rules: - if: '$VERSIONLABELMETHOD == "LastVersionTagInGit"' script: - | echo "the google kaniko container does not have git and does not have a packge manager to install it" git clone https://github.com/GoogleContainerTools/kaniko.git cd kaniko echo "$(git describe --abbrev=0 --tags)" > ../VERSIONTAG.txt echo "VERSIONTAG.txt contains $(cat ../VERSIONTAG.txt)" artifacts: paths: - VERSIONTAG.txt # taken from https://gitlab.com/guided-explorations/containers/kaniko-docker-build/-/blob/master/.gitlab-ci.yml .build-docker-image: image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - | echo "Building and shipping image to $CI_REGISTRY_IMAGE" #Build date for opencontainers BUILDDATE="'$(date '+%FT%T%z' | sed -E -n 's/(\+[0-9]{2})([0-9]{2})$/\1:\2/p')'" #rfc 3339 date IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.created=$BUILDDATE --label build-date=$BUILDDATE" #Description for opencontainers BUILDTITLE=$(echo $CI_PROJECT_TITLE | tr " " "_") IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.title=$BUILDTITLE --label org.opencontainers.image.description=$BUILDTITLE" #Add ref.name for opencontainers IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.ref.name=$CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME//\//_}" #Build Version Label and Tag from git tag, LastVersionTagInGit was placed by a previous job artifact if [[ "$VERSIONLABELMETHOD" == "LastVersionTagInGit" ]]; then VERSIONLABEL=$(cat VERSIONTAG.txt); fi if [[ "$VERSIONLABELMETHOD" == "OnlyIfThisCommitHasVersion" ]]; then VERSIONLABEL=$CI_COMMIT_TAG; fi if [[ ! -z "$VERSIONLABEL" ]]; then IMAGE_LABELS="$IMAGE_LABELS --label org.opencontainers.image.version=$VERSIONLABEL" ADDITIONALTAGLIST="$ADDITIONALTAGLIST $VERSIONLABEL" fi ADDITIONALTAGLIST="$ADDITIONALTAGLIST $CI_COMMIT_REF_NAME $CI_COMMIT_SHORT_SHA" if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then ADDITIONALTAGLIST="$ADDITIONALTAGLIST latest"; fi if [[ -n "$ADDITIONALTAGLIST" ]]; then for TAG in $ADDITIONALTAGLIST; do TAG=${TAG//\//_} # replace slashes with underscore in tag FORMATTEDTAGLIST="${FORMATTEDTAGLIST} --tag $CI_REGISTRY_IMAGE:$TAG "; done; fi if [[ -n "$ADDITIONALIMAGENAMES" ]]; then for TAG in $ADDITIONALIMAGENAMES; do FORMATTEDTAGLIST="${FORMATTEDTAGLIST} --tag $TAG "; done; fi #Reformat Docker tags to kaniko's --destination argument: FORMATTEDTAGLIST=$(echo "${FORMATTEDTAGLIST}" | sed s/\-\-tag/\-\-destination/g) mkdir -p /kaniko/.docker PROJECTDIR=$CI_PROJECT_DIR if [[ ! -z "$SUB_DIRECTORY" ]]; then PROJECTDIR=$CI_PROJECT_DIR/$SUB_DIRECTORY fi echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json /kaniko/executor --context $PROJECTDIR --dockerfile $PROJECTDIR/Dockerfile $FORMATTEDTAGLIST $IMAGE_LABELS
Dockerfile +7 −6 Original line number Diff line number Diff line FROM ubuntu:latest FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive \ NXF_VERSION=21.10.6 RUN apt-get update && \ apt-get install -y python3-pip python3-setuptools python3-sphinx docker.io openjdk-11-jdk-headless wget RUN wget https://github.com/nextflow-io/nextflow/releases/download/v19.01.0/nextflow-19.01.0-all && \ chmod +x nextflow-19.01.0-all && \ mv nextflow-19.01.0-all /usr/local/bin/ && \ ln -s /usr/local/bin/nextflow-19.01.0-all /usr/local/bin/nextflow RUN wget https://github.com/nextflow-io/nextflow/releases/download/v${NXF_VERSION}/nextflow-${NXF_VERSION}-all && \ chmod +x nextflow-${NXF_VERSION}-all && \ mv nextflow-${NXF_VERSION}-all /usr/local/bin/ && \ ln -s /usr/local/bin/nextflow-${NXF_VERSION}-all /usr/local/bin/nextflow RUN pip3 install --upgrade git+https://git.computational.bio.uni-giessen.de/SOaAS/dbxref.git Loading