diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ea316079ca1d0b4ea305d64c551b0daaffa72fe5..ec09aa8b7fa325eaf800d746d88c7ce88be05117 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,17 +31,18 @@ docker-image: stage: build tags: [dind] variables: - IMAGE: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" + PUBLIC_IMAGE: "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME" + PREZBUILDER_IMAGE: prezbuilder + PREZBUILDER_TAG: "$CI_COMMIT_SHA" + LOCAL_IMAGE: "$PREZBUILDER_IMAGE:$PREZBUILDER_TAG" script: - - docker pull "$IMAGE" || exit 0 - - docker build --cache-from "node:buster-12,$IMAGE" --tag "$IMAGE" . - - docker run --rm "$IMAGE" build src public + - set -x + - docker pull "$PUBLIC_IMAGE" || exit 0 + - docker build --cache-from "node:buster-12,$PUBLIC_IMAGE" --tag "$LOCAL_IMAGE" --tag "$PUBLIC_IMAGE" . + - docker run --rm "$LOCAL_IMAGE" build + - bash -x bin/prezbuilder-docker build src public - "[ -e public/index.html ]" - - rm -rf public/* - - bin/prezbuilder-docker build src public - - docker push "$IMAGE" + - docker push "$PUBLIC_IMAGE" lint: stage: test @@ -51,33 +52,6 @@ lint: script: - npm run lint -run-from-sources: - stage: test - image: node:12-buster - needs: - - node_modules - before_script: - - apt-get update -yq && apt-get install -yq pandoc wkhtmltopdf - script: - - bin/prezbuilder build src public - - "[ -e public/index.html ]" - -run-from-npm: - stage: test - image: node:12-buster - needs: [] - variables: - GIT_STRATEGY: none - before_script: - - apt-get update -yq && apt-get install -yq pandoc wkhtmltopdf - - set -x - - mkdir -p $HOME/prezbuilder - - cd $HOME/prezbuilder - - npm install "git+${CI_REPOSITORY_URL}#${CI_COMMIT_REF_NAME}" - script: - - node_modules/.bin/prezbuilder build $CI_PROJECT_DIR/src $CI_PROJECT_DIR/public - - "[ -e $CI_PROJECT_DIR/public/index.html ]" - pages: extends: .prezbuilder variables: diff --git a/bin/prezbuilder-docker b/bin/prezbuilder-docker index 374a73682e7666e3598661459cd52fc8a4f15ca0..d0937f81def86bb8f737393772223ba3d398cbf3 100755 --- a/bin/prezbuilder-docker +++ b/bin/prezbuilder-docker @@ -7,5 +7,5 @@ exec docker run \ -v `readlink -f ${3:-public}`:/public \ -p 3000:3000/tcp \ -p 35729:35729/tcp \ - gitlab-registry.irstea.fr/pole-is/tools/prezbuilder:${CI_COMMIT_REF_NAME:-master} \ - ${1:-build} /src /public + "${PREZBUILDER_IMAGE:-gitlab-registry.irstea.fr/pole-is/tools/prezbuilder}:${PREZBUILDER_TAG:-master}" \ + "${1:-build}" /src /public diff --git a/src/index.md b/src/index.md index 929535bc39dfa8b5c71acc96ce479727a424095e..7bca240fec1d28906f5dee63951a7b6ff415d4a0 100644 --- a/src/index.md +++ b/src/index.md @@ -58,25 +58,6 @@ pages: - if: $CI_COMMIT_TAG ``` -## Avec NodeJS (_a.k.a._ depuis les sources) - -Il faudra installer vous-même les prérequis : - -- [node 12](https://nodejs.org/fr/download/) -- [pandoc](https://pandoc.org/installing.html) -- [drawio-desktop](https://github.com/jgraph/drawio-desktop/releases/latest) (optionel) -- [wkhtmltopdf](https://wkhtmltopdf.org/downloads.html) (optionel) -- gulp-cli (`sudo npm install --global gulp-cli`) - -Installation : - -```bash -mkdir -p $HOME/prezbuilder -cd $HOME/prezbuilder -npm install "git+https://gitlab.irstea.fr/pole-is/tools/prezbuilder.git#master" -sudo ln -s $HOME/prezbuilder/node_modules/.bin/prezbuilder /usr/local/bin/prezbuilder -``` - # Utilisation prezbuild crée une (ou plusieurs) présentation(s) dans `public/` à partir du @@ -148,20 +129,6 @@ prezbuiler peut être exécuté selon deux modes : - présentation accessible sur http://localhost:3000, - mise à jour automatique sur modification des sources. -## Avec NodeJS - -#### Build - -```bash -prezbuilder build [répertoire_source [répertoire_sortie]] -``` - -#### Dev - -```bash -prezbuilder dev [répertoire_source [répertoire_sortie]] -``` - ## Avec Docker Le script pour Docker s'utilise comme celui présenté de NodeJS :