diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d3b6f8b..a5f09de 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,8 +27,6 @@ test: stage: test image: "$CI_REGISTRY_IMAGE:job-$CI_PIPELINE_ID" script: - - node --version - - npm --version - python --version - nikola --version - pip --version @@ -39,9 +37,8 @@ deploy: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - docker pull $CI_REGISTRY_IMAGE:job-$CI_PIPELINE_ID - - docker tag $CI_REGISTRY_IMAGE:job-$CI_PIPELINE_ID $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG:-latest} - - echo "deploying $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG:-latest}" - - docker push $CI_REGISTRY_IMAGE:${CI_COMMIT_REF_SLUG:-latest} + - docker tag $CI_REGISTRY_IMAGE:job-$CI_PIPELINE_ID $CI_REGISTRY_IMAGE:latest + - docker push $CI_REGISTRY_IMAGE:latest include: - template: Security/SAST.gitlab-ci.yml - template: Security/Container-Scanning.gitlab-ci.yml diff --git a/Dockerfile b/Dockerfile index 561e2bd..74bd758 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM docker.io/library/python:3.11-alpine -RUN apk --no-cache add sshpass openssh-client lftp nodejs npm; mkdir -p /opt/app +RUN apk --no-cache add sshpass openssh-client lftp; mkdir -p /opt/app WORKDIR /opt/app ADD requirements.txt /root/ ADD Dockerfile /root/ diff --git a/README.md b/README.md index 6e109e6..966be18 100644 --- a/README.md +++ b/README.md @@ -11,16 +11,6 @@ This image is based on the python:3.11-alpine image and includes additional Python-packages for building nikola-sites. -## Configure your project - -Create a configuration file in your git-repo: `.deployment-helper` - -Configuration-Variables: - -* DEPLOY_HELPER_ENABLE_NIKOLA (default: true) -* DEPLOY_HELPER_ENABLE_NODE (default: false) -* DEPLOY_HELPER_CONTENT_DIR (default: "website/output") - ## lftp for sftp-Uploads This image includes `lftp` to upload files to a sftp-server and use diff --git a/bin/build.sh b/bin/build.sh index d7f92e1..727aa8f 100644 --- a/bin/build.sh +++ b/bin/build.sh @@ -1,59 +1,18 @@ #!/bin/sh -# Default configurations: -DEPLOY_HELPER_ENABLE_NIKOLA=true -DEPLOY_HELPER_ENABLE_NODE=false - -if test -f .deployment-helper +if ! test -d website then - # shellcheck source=/dev/null - . .deployment-helper + echo "Website directory not found" + exit 1 fi - - -if $DEPLOY_HELPER_ENABLE_NODE +if ! command -v nikola >/dev/null 2>&1 then - if ! command -v node >/dev/null 2>&1 - then - echo "node not found" 1>&2 - exit 1 - fi - if ! command -v npm >/dev/null 2>&1 - then - echo "npm not found" 1>&2 - exit 1 - fi - if ! test -d node - then - echo "Node directory not found" 1>&2 - exit 1 - fi - - cd node || { echo 'Directory "node" not found'; exit 1;} - if ! npm install - then - echo "Error installing node-dependencies" 1>&2 - exit 1 - fi - cd .. + echo "nikola command not found" + exit 1 fi -if $DEPLOY_HELPER_ENABLE_NIKOLA -then - if ! test -d website - then - echo "Website directory not found" 1>&2 - exit 1 - fi +cd website - if ! command -v nikola >/dev/null 2>&1 - then - echo "nikola command not found" 1>&2 - exit 1 - fi - cd website || { echo 'Directory "website" not found'; exit 1;} - nikola build - cd .. -fi +nikola build exit "$?" diff --git a/bin/deploy.sh b/bin/deploy.sh index 154fa0f..bdf78f1 100755 --- a/bin/deploy.sh +++ b/bin/deploy.sh @@ -1,16 +1,7 @@ #!/bin/sh -# Default configurations: -DEPLOY_HELPER_CONTENT_DIR="website/output" -if test -f .deployment-helper -then - # shellcheck source=/dev/null - . .deployment-helper -fi - - -if ! test -d "${DEPLOY_HELPER_CONTENT_DIR}" +if ! test -d website/output then echo "Website-Build not found" exit 1 @@ -25,9 +16,6 @@ then fi -lftp -e "set sftp:auto-confirm yes; mirror -R ${DEPLOY_HELPER_CONTENT_DIR} ./web/; bye" \ - --env-password \ - -u ${SSH_USER} \ - sftp://${SSH_HOST} +lftp -e 'set sftp:auto-confirm yes; mirror -R ./website/output/ ./web/; bye' --env-password -u ${SSH_USER} sftp://${SSH_HOST} diff --git a/requirements.txt b/requirements.txt index ca82f01..7516d19 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,8 @@ Jinja2 aiohttp watchdog python-dotenv +rstcheck +docutils +esbonio +pytz +certifi-linux \ No newline at end of file