From a377588d18788303292f997489796478cf5866b1 Mon Sep 17 00:00:00 2001 From: Michael Gutbier <migu@cgan.de> Date: Mon, 23 Dec 2019 00:28:43 +0100 Subject: [PATCH] refactor pipeline --- .gitlab-ci.yml | 40 +++++++++++++++++----------------------- build.sh | 12 ++++++++++++ 2 files changed, 29 insertions(+), 23 deletions(-) create mode 100755 build.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7e4ec2b..cf0d40c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,53 +2,47 @@ stages: - build - publish -build_tagged_guide: +.template:build_guide: stage: build image: alpine - script: + before_script: - apk update - - apk add ruby asciidoctor git + - apk add --no-cache ruby asciidoctor git - gem install asciidoctor-pdf --pre - - export COMMIT_TIME=$(git show -s --format=%ci $CI_COMMIT_SHA | cut -c1-10) - - asciidoctor-pdf -a revnumber=$CI_COMMIT_TAG -a revdate=$COMMIT_TIME -o angelguide_en.pdf guide.adoc - - asciidoctor-pdf -a lang=de -a revnumber=$CI_COMMIT_TAG -a revdate=$COMMIT_TIME -o angelguide_de.pdf guide.adoc artifacts: paths: - "angelguide_en.pdf" - "angelguide_de.pdf" expire_in: 12 months + +build_guide_by_tag: + extends: .template:build_guide + script: + - export COMMIT_DATE=$(git show -s --format=%ci $CI_COMMIT_SHA | cut -c1-10) + - export REVISION=$CI_COMMIT_TAG + - asciidoctor-pdf -a revnumber=$REVISION -a revdate=$COMMIT_DATE -o angelguide_en.pdf guide.adoc + - asciidoctor-pdf -a revnumber=$REVISION -a revdate=$COMMIT_DATE -o angelguide_de.pdf -a lang=de guide.adoc rules: - if: $CI_COMMIT_TAG != null when: always - - when: never build_guide: - stage: build - image: alpine + extends: .template:build_guide script: - - apk update - - apk add ruby asciidoctor git - - gem install asciidoctor-pdf --pre - - export COMMIT_TIME=$(git show -s --format=%ci $CI_COMMIT_SHA | cut -c1-10) - - echo $COMMIT_TIME - - asciidoctor-pdf -a revnumber=$CI_COMMIT_SHORT_SHA -a revdate=$COMMIT_TIME -o angelguide_en.pdf guide.adoc - - asciidoctor-pdf -a lang=de -a revnumber=$CI_COMMIT_SHORT_SHA -a revdate=$COMMIT_TIME -o angelguide_de.pdf guide.adoc - artifacts: - paths: - - "angelguide_en.pdf" - - "angelguide_de.pdf" - expire_in: 12 months + - export COMMIT_DATE=$(git show -s --format=%ci $CI_COMMIT_SHA | cut -c1-10) + - export REVISION=$CI_COMMIT_SHORT_SHA + - asciidoctor-pdf -a revnumber=$REVISION -a revdate=$COMMIT_DATE -o angelguide_en.pdf guide.adoc + - asciidoctor-pdf -a revnumber=$REVISION -a revdate=$COMMIT_DATE -o angelguide_de.pdf -a lang=de guide.adoc rules: - if: $CI_COMMIT_TAG == null when: always - - when: never publish_guide: stage: publish image: kroniak/ssh-client before_script: - apk update - - apk add rsync + - apk add --no-cache rsync - mkdir -p ~/.ssh - chmod 700 ~/.ssh - eval $(ssh-agent -s) diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..7fe12b8 --- /dev/null +++ b/build.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [[ $# ne 1 ]]; then + echo expected revision as option >&2 + exit 1 +fi + +revision="$1" +commit_date=$(git show -s --format=%ci $CI_COMMIT_SHA | cut -c1-10) + +asciidoctor-pdf -a revnumber=${revision} -a revdate=${commit_date} -o angelguide_en.pdf guide.adoc +asciidoctor-pdf -a revnumber=${revision} -a revdate=${commit_date} -o angelguide_de.pdf -a lang=de guide.adoc -- GitLab