diff --git a/builder.sh b/builder.sh index 66af3df..ebc7abc 100755 --- a/builder.sh +++ b/builder.sh @@ -80,6 +80,8 @@ cp buildlib.sh $UBUNTU_CHROOT_DIR mkdir -p $UBUNTU_CHROOT_DIR/opengnsys-installer cp component-installer.sh $UBUNTU_CHROOT_DIR/opengnsys-installer/ chmod +x $UBUNTU_CHROOT_DIR/opengnsys-installer/component-installer.sh +cp provision_ogcore.sh $UBUNTU_CHROOT_DIR/opengnsys-installer/ +chmod +x $UBUNTU_CHROOT_DIR/opengnsys-installer/provision_ogcore.sh cp pat.txt $UBUNTU_CHROOT_DIR/opengnsys-installer/ diff --git a/component-installer.sh b/component-installer.sh index 3680a62..607cf02 100644 --- a/component-installer.sh +++ b/component-installer.sh @@ -19,9 +19,6 @@ function install_docker() { } function install_ogcore_docker() { - docker compose -f repo/docker-compose-deploy.yml create - docker compose -f repo/docker-compose-deploy.yml up -d database - docker compose -f repo/docker-compose-deploy.yml run --rm php ./provision.sh cat < /etc/systemd/system/ogcore.service [Unit] Description=Servicio para ejecutar Docker Compose de ogCore @@ -31,6 +28,7 @@ Requires=docker.service [Service] WorkingDirectory=/opt/opengnsys/ogCore/repo/ ExecStart=/usr/bin/docker compose -f docker-compose-deploy.yml up +ExecStartPost=/opengnsys-installer/provision_ogcore.sh ExecStop=/usr/bin/docker compose -f docker-compose-deploy.yml down Restart=always @@ -110,7 +108,9 @@ do ogCore) echo "Instalando ogCore..." OGCORE_BRANCH=jenkins-provision + container_version=$(jq -r '.container_version' /opt/opengnsys/ogCore/installer/config.json) git clone --branch "$OGCORE_BRANCH" "$OGCORE_REPO" "$component_dir/repo" + sed -i "s/static/$container_version/g" $component_dir/repo/docker-compose-deploy.yml echo - ogCore >> /etc/issue install_docker install_ogcore_docker diff --git a/openGnsys-installer.sh b/openGnsys-installer.sh index 2b8ce31..16a9893 100644 --- a/openGnsys-installer.sh +++ b/openGnsys-installer.sh @@ -35,7 +35,7 @@ for component in $components; do --field="Usuario administrador":TEXT \ --field="ContraseƱa":H \ --field="Tag del contenedor":TEXT \ - "ogadmin" "" "main" \ + "ogadmin" "" "latest" \ --width=400 --height=200 --center) user=$(echo "$config" | cut -d '|' -f 1) password=$(echo "$config" | cut -d '|' -f 2) diff --git a/provision_ogcore.sh b/provision_ogcore.sh index c4f3892..dfbaae7 100644 --- a/provision_ogcore.sh +++ b/provision_ogcore.sh @@ -1,8 +1,29 @@ #!/bin/bash +cd /opt/opengnsys/ogCore/repo/ + +if [ -f /opt/opengnsys/ogCore/installer/.deployed ]; then + echo "ogCore ya instalado" + exit 0 +fi + +docker compose -f docker-compose-deploy.yml exec php composer install +docker compose -f docker-compose-deploy.yml exec php php bin/console lexik:jwt:generate-keypair --overwrite +docker compose -f docker-compose-deploy.yml exec php php bin/console doctrine:migrations:migrate --no-interaction +docker compose -f docker-compose-deploy.yml exec php php bin/console doctrine:fixtures:load --no-interaction -docker compose exec php composer install -docker compose exec php php bin/console lexik:jwt:generate-keypair --overwrite -docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction -docker compose exec php php bin/console doctrine:fixtures:load --no-interaction +adminuser=$(jq -r '.username' /opt/opengnsys/ogCore/installer/config.json) +adminpass=$(jq -r '.password' /opt/opengnsys/ogCore/installer/config.json) + +# Provision user admin +curl -k -X 'POST' \ + 'https://localhost:8443/auth/login' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d "{ + \"username\": \"$adminuser\", + \"password\": \"$adminpass\" +}" + +touch /opt/opengnsys/ogCore/installer/.deployed