Skip to content
Commits on Source (2)
  • Seblu's avatar
    Update php version to 8.1 · c6adef3a
    Seblu authored
    From https://www.dokuwiki.org/requirements
    
    PHP needs to be at least version 7.2 since the “Igor” release, support for previous PHP versions has been dropped on this release. PHP versions up to and including 7.4 are now EOL, therefore using the latest version of the 7.4.x branch or 8.x is highly recommended. Dokuwiki is compatible with PHP 8.0 and 8.1.
    c6adef3a
  • Seblu's avatar
    Update CI/CD · d5a4e628
    Seblu authored
    d5a4e628
stages:
- build
- push
docker_build:
stage: build
script: BUILD_EXTRA="--no-cache --pull" ./build.sh $CI_REGISTRY_IMAGE
docker_push:
stage: push
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
script:
- docker push "${CI_REGISTRY_IMAGE}:oldstable"
- docker push "${CI_REGISTRY_IMAGE}:stable"
- docker push "${CI_REGISTRY_IMAGE}:rc"
- docker push "${CI_REGISTRY_IMAGE}:dev"
- docker push "${CI_REGISTRY_IMAGE}:latest"
update:
variables:
BUILD_EXTRA: "--no-cache --pull"
BUILD_NAME: "$CI_REGISTRY_IMAGE"
BUILD_PUSH: "1"
before_script: docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
script: ./build.sh
only:
refs:
- master
FROM php:7-apache
FROM php:8.1-apache
MAINTAINER Sébastien Luttringer <seblu@seblu.net>
......
......@@ -2,39 +2,40 @@
set -e
declare -r name=${1:-docker.seblu.net/docker/dokuwiki}
# Build dokuwiki images.
# Set environ BUILD_PUSH to push build images.
# Set environ BUILD_EXTRA to add arguents to docker build command line.
# Define build image name. Define env BUILD_NAME to override.
declare BUILD_NAME=${BUILD_NAME:-docker.seblu.net/docker/dokuwiki}
# Dokuwiki upstream consider the last reliable version to be rc when available.
# The update_check in dokuwiki is always looking for RC too.
# https://forum.dokuwiki.org/d/8939-update-check-should-not-be-used-for-release-candidates
# so we tag latest rc when available, either stable or oldstable.
declare latest=''
# declare well known versions. order matter!
declare -a versions=(dev oldstable stable rc)
declare -A url=(
# Declare well known versions. Order matter! Latest is the latest tag.
declare -r -A versions=(
["dev"]="http://github.com/splitbrain/dokuwiki/tarball/master"
["oldstable"]="https://download.dokuwiki.org/src/dokuwiki/dokuwiki-oldstable.tgz"
["stable"]="https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz"
["rc"]="https://download.dokuwiki.org/src/dokuwiki/dokuwiki-rc.tgz"
)
for version in "${versions[@]}"; do
# do not build unavailable url (e.g: rc is only avaible before a new release)
echo "Checking $version url ${url[$version]}"
curl -Isf "${url[$version]}" -o /dev/null || continue
for version in "${!versions[@]}"; do
# Do not build unavailable url (e.g: rc is only avaible before a new release)
echo "Checking $version at ${versions[$version]}"
curl -Isf "${versions[$version]}" -o /dev/null || continue
echo "Building $version"
docker build --build-arg=DOKUWIKI_URL="${url[$version]}" --tag "$name:$version" $BUILD_EXTRA .
docker build --build-arg=DOKUWIKI_URL="${versions[$version]}" --tag "$BUILD_NAME:$version" $BUILD_EXTRA .
[[ "$BUILD_PUSH" ]] && docker push "$BUILD_NAME:$version"
latest=$version
done
echo "Tag latest: $latest"
docker tag $name:$latest $name:latest
echo =========================================================================
echo ::: IMAGE NOT PUSHED
echo ::: to push image:
for version in "${versions[@]}"; do
echo docker push "$name:$version"
done
echo docker push "${name%:*}:latest"
echo =========================================================================
# The latest tag is special
if [[ "$latest" ]]; then
echo "Tag latest is $latest"
docker tag "$BUILD_NAME:$latest" "$BUILD_NAME:latest"
[[ "$BUILD_PUSH" ]] && docker push "$BUILD_NAME:latest"
fi