diff --git a/Jenkins/Jenkinsfile-deb-pkg b/Jenkins/Jenkinsfile-deb-pkg index f032770..a2a176b 100644 --- a/Jenkins/Jenkinsfile-deb-pkg +++ b/Jenkins/Jenkinsfile-deb-pkg @@ -70,6 +70,7 @@ pipeline { agent { label 'debian-repo' } steps { sh "aptly repo add opengnsys-devel /var/tmp/opengnsys/debian-repo/oggui/*.deb" + sh "rm -f /var/tmp/opengnsys/debian-repo/oggui/*.deb" } } } diff --git a/debian/control b/debian/control index 629ce11..8d54916 100644 --- a/debian/control +++ b/debian/control @@ -8,6 +8,6 @@ Standards-Version: 4.5.0 Package: oggui Architecture: any Maintainer: Nicolas Arenas -Depends: ${shlibs:Depends}, ${misc:Depends}, nginx, nodejs, npm +Depends: ${shlibs:Depends}, ${misc:Depends}, nginx Description: OpenGnsys GUI Una interfaz gráfica para OpenGnsys. diff --git a/debian/oggui.config b/debian/oggui.config index a938da8..63d3c04 100644 --- a/debian/oggui.config +++ b/debian/oggui.config @@ -7,5 +7,4 @@ set -e db_input high opengnsys/oggui_ogcoreUrl || true db_input high opengnsys/oggui_ogmercureUrl || true - db_go diff --git a/debian/oggui.install b/debian/oggui.install index a14cbae..a81593f 100644 --- a/debian/oggui.install +++ b/debian/oggui.install @@ -1,9 +1,4 @@ -ogWebconsole/dist/oggui/browser /opt/opengnsys/oggui/browser/ +ogWebconsole/dist/oggui/browser /opt/opengnsys/oggui/ etc /opt/opengnsys/oggui/ -bin /opt/opengnsys/oggui/ -var /opt/opengnsys/oggui/ -ogWebconsole/*.json /opt/opengnsys/oggui/src/ -ogWebconsole/*.js /opt/opengnsys/oggui/src/ -ogWebconsole/src /opt/opengnsys/oggui/src/ ogWebconsole/ssl/* /opt/opengnsys/oggui/etc/nginx/certs/ diff --git a/debian/oggui.postinst b/debian/oggui.postinst index c873baf..a4401ab 100644 --- a/debian/oggui.postinst +++ b/debian/oggui.postinst @@ -1,6 +1,7 @@ #!/bin/bash set -e +set -x . /usr/share/debconf/confmodule @@ -12,39 +13,26 @@ OGMERCURE_URL="$RET" # Asegurarse de que el usuario exista USER="opengnsys" HASH_FILE="/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash" -CONFIG_FILE="/opt/opengnsys/oggui/src/.env" +CONFIG_FILE="/opt/opengnsys/oggui/browser/assets/config.json" # Detectar si es una instalación nueva o una actualización if [ "$1" = "configure" ] && [ -z "$2" ]; then - cd /opt/opengnsys/oggui/src/ - echo NG_APP_BASE_API_URL=$OGCORE_URL > "$CONFIG_FILE" - echo NG_APP_OGCORE_MERCURE_BASE_URL=$OGMERCURE_URL >> "$CONFIG_FILE" - npm install -g @angular/cli - npm install - /usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false - cp -pr /opt/opengnsys/oggui/src/dist/oggui/browser /opt/opengnsys/oggui/ - md5sum "$CONFIG_FILE" > "$HASH_FILE" + jq --arg apiUrl "$OGCORE_URL" --arg mercureUrl "$OGMERCURE_URL" \ + '.apiUrl = $apiUrl | .mercureUrl = $mercureUrl' "$CONFIG_FILE" > "${CONFIG_FILE}.tmp" && mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE" ln -s /opt/opengnsys/oggui/etc/systemd/system/oggui.service /etc/systemd/system/oggui.service ln -s /opt/opengnsys/oggui/etc/nginx/oggui.conf /etc/nginx/sites-enabled/oggui.conf + ln -s $CONFIG_FILE /opt/opengnsys/oggui/etc/config.json mkdir -p /etc/nginx/certs/ cp -p /opt/opengnsys/oggui/etc/nginx/certs/* /etc/nginx/certs/ chown -R www-data:www-data /etc/nginx/certs systemctl daemon-reload - systemctl enable oggui - # systemctl restart nombre_del_s - systemctl daemon-reload systemctl restart nginx elif [ "$1" = "configure" ] && [ -n "$2" ]; then cd /opt/opengnsys/oggui echo "Actualización desde la versión $2" - /usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false - rm -rf /opt/opengnsys/oggui/browser - cp -pr /opt/opengnsys/oggui/src/dist/oggui/browser /opt/opengnsys/oggui/ - md5sum "$CONFIG_FILE" > "$HASH_FILE" fi # Cambiar la propiedad de los archivos al usuario especificado chown opengnsys:www-data /opt/opengnsys/ chown -R opengnsys:www-data /opt/opengnsys/oggui -chmod 755 /opt/opengnsys/oggui/bin/start-oggui.sh exit 0 diff --git a/debian/rules b/debian/rules index e98db95..ef29cd0 100755 --- a/debian/rules +++ b/debian/rules @@ -5,16 +5,7 @@ override_dh_auto_build: cd ogWebconsole && npm install - cd ogWebconsole && /usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false + cd ogWebconsole && npx ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production override_dh_auto_install: dh_auto_install - mkdir -p debian/oggui/opt/opengnsys/oggui/browser - mkdir -p debian/oggui/opt/opengnsys/oggui/src/ - cp -pr ogWebconsole/dist/oggui/browser/* debian/oggui/opt/opengnsys/oggui/browser/ - rm -rf debian/oggui/opt/opengnsys/oggui/browser/node_modules - cp -pr etc debian/oggui/opt/opengnsys/oggui/ - cp -pr bin debian/oggui/opt/opengnsys/oggui/ - cp -pr var debian/oggui/opt/opengnsys/oggui/ - cp -p ogWebconsole/.env debian/oggui/opt/opengnsys/oggui/src/ - md5sum debian/oggui/opt/opengnsys/oggui/src/.env > debian/oggui/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash