From 9fc8a80b95b26d2903851c1ca7ed190d8cc7419e Mon Sep 17 00:00:00 2001 From: Eduardo Fraga Date: Wed, 28 Jan 2026 17:13:20 -0300 Subject: [PATCH] ci(docker): add manual workflow dispatch and db upgrade service - Add workflow_dispatch trigger to nginx and php-fpm publish workflows - Allow manual version input for triggered builds with "latest" as default - Add glpi-db-upgrade service to docker-compose-build.yml configuration - Simplify glpi-db-upgrade.sh script by removing explicit database parameters - Use environment variables from .env file instead of command-line arguments - Enable manual control over Docker image builds and database upgrade process --- .github/workflows/docker-publish-nginx.yaml | 6 ++++++ .github/workflows/docker-publish-php-fpm.yaml | 6 ++++++ docker/docker-compose-build.yml | 15 +++++++++++++++ docker/php/scripts/glpi-db-upgrade.sh | 10 ++-------- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker-publish-nginx.yaml b/.github/workflows/docker-publish-nginx.yaml index 0d830a9..7b7b867 100644 --- a/.github/workflows/docker-publish-nginx.yaml +++ b/.github/workflows/docker-publish-nginx.yaml @@ -1,6 +1,12 @@ name: Nginx on: + workflow_dispatch: + inputs: + version: + description: "Version to build" + required: true + default: "latest" push: branches: - "latest" diff --git a/.github/workflows/docker-publish-php-fpm.yaml b/.github/workflows/docker-publish-php-fpm.yaml index d581f1f..de5c69e 100644 --- a/.github/workflows/docker-publish-php-fpm.yaml +++ b/.github/workflows/docker-publish-php-fpm.yaml @@ -1,6 +1,12 @@ name: PHP on: + workflow_dispatch: + inputs: + version: + description: "Version to build" + required: true + default: "latest" push: branches: - "latest" diff --git a/docker/docker-compose-build.yml b/docker/docker-compose-build.yml index 897acaa..8dcf5af 100644 --- a/docker/docker-compose-build.yml +++ b/docker/docker-compose-build.yml @@ -21,6 +21,21 @@ services: - mariadb command: mariadb -h $MARIADB_HOST -u root -p$MARIADB_ROOT_PASSWORD -e "GRANT SELECT ON \`mysql\`.\`time_zone_name\` TO 'glpi'@'%'; FLUSH PRIVILEGES;" + + glpi-db-upgrade: + image: eftechcombr/glpi:php-fpm-11.0.5 + restart: on-failure + env_file: ./.env + volumes: + - glpi-marketplace:/var/www/html/marketplace:rw + - glpi-files:/var/lib/glpi:rw + - glpi-etc:/etc/glpi:rw + depends_on: + - mariadb + command: + - /usr/local/bin/glpi-db-upgrade.sh + + glpi-db-install: image: eftechcombr/glpi:php-fpm-11.0.5 restart: on-failure diff --git a/docker/php/scripts/glpi-db-upgrade.sh b/docker/php/scripts/glpi-db-upgrade.sh index bdbd65d..04a3861 100644 --- a/docker/php/scripts/glpi-db-upgrade.sh +++ b/docker/php/scripts/glpi-db-upgrade.sh @@ -4,13 +4,7 @@ dbUpgrade () { php bin/console database:update \ --lang="$GLPI_LANG" \ - --db-host="$MARIADB_HOST" \ - --db-port="$MARIADB_PORT" \ - --db-name="$MARIADB_DATABASE" \ - --db-user="$MARIADB_USER" \ - --db-password="$MARIADB_PASSWORD" \ - --no-interaction - + --no-interaction } -php bin/console database:check_schema_integrity || dbUpgrade +dbUpgrade