2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-12 01:55:39 +00:00

Installer fixes (#3962)

* Switch variable to make it easier to debug
Fixes #3933

* rename output file

* add setting to directly generate refs

* use prod mode

* fix check

* add debug flags

* remove debug marker

* pre-safe keys

* update installer ref

* split installer steps

* split steps further

* try static adding

* remove split key add

* try dry rn again

* do not dry run keys

* fix debian 11 detection

* add ci to let install run through

* remove flags

* remove dryrun

* run on master

* query api on test

* fix missing env

* use matmair for tests

* use specific version

* remove old python first

* check python version

* add more version checks

* multiline marker for action

* add option to select python env

* set python version before running installer

* cleanup script

* use inline apt for python install

* package 3.9 by default

* remove custom python install

* add some sleeps

* fix package names

* reduce double depb definition

* set python version

* remove 3.9 requirement

* do invoke and wheel install in the right context

* fix typing for 3.8

* use var for config file if it exsists

* fix discovery

* use raw output for jq

* remove tests

* revert change in tasks.py
This commit is contained in:
Matthias Mair
2022-11-20 09:29:12 +01:00
committed by GitHub
parent 798e95910c
commit a2abdc297b
8 changed files with 101 additions and 450 deletions

View File

@ -84,7 +84,7 @@ function detect_envs() {
echo "# Setting base environment variables"
export INVENTREE_CONFIG_FILE=${CONF_DIR}/config.yaml
export INVENTREE_CONFIG_FILE=${INVENTREE_CONFIG_FILE:-${CONF_DIR}/config.yaml}
if test -f "${INVENTREE_CONFIG_FILE}"; then
echo "# Using existing config file: ${INVENTREE_CONFIG_FILE}"
@ -93,22 +93,22 @@ function detect_envs() {
pip install jc -q
# Load config
local conf=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml)
local CONF=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml)
# Parse the config file
export INVENTREE_MEDIA_ROOT=$conf | jq '.[].media_root'
export INVENTREE_STATIC_ROOT=$conf | jq '.[].static_root'
export INVENTREE_BACKUP_DIR=$conf | jq '.[].backup_dir'
export INVENTREE_PLUGINS_ENABLED=$conf | jq '.[].plugins_enabled'
export INVENTREE_PLUGIN_FILE=$conf | jq '.[].plugin_file'
export INVENTREE_SECRET_KEY_FILE=$conf | jq '.[].secret_key_file'
export INVENTREE_MEDIA_ROOT=$(jq -r '.[].media_root' <<< ${CONF})
export INVENTREE_STATIC_ROOT=$(jq -r '.[].static_root' <<< ${CONF})
export INVENTREE_BACKUP_DIR=$(jq -r '.[].backup_dir' <<< ${CONF})
export INVENTREE_PLUGINS_ENABLED=$(jq -r '.[].plugins_enabled' <<< ${CONF})
export INVENTREE_PLUGIN_FILE=$(jq -r '.[].plugin_file' <<< ${CONF})
export INVENTREE_SECRET_KEY_FILE=$(jq -r '.[].secret_key_file' <<< ${CONF})
export INVENTREE_DB_ENGINE=$conf | jq '.[].database.ENGINE'
export INVENTREE_DB_NAME=$conf | jq '.[].database.NAME'
export INVENTREE_DB_USER=$conf | jq '.[].database.USER'
export INVENTREE_DB_PASSWORD=$conf | jq '.[].database.PASSWORD'
export INVENTREE_DB_HOST=$conf | jq '.[].database.HOST'
export INVENTREE_DB_PORT=$conf | jq '.[].database.PORT'
export INVENTREE_DB_ENGINE=$(jq -r '.[].database.ENGINE' <<< ${CONF})
export INVENTREE_DB_NAME=$(jq -r '.[].database.NAME' <<< ${CONF})
export INVENTREE_DB_USER=$(jq -r '.[].database.USER' <<< ${CONF})
export INVENTREE_DB_PASSWORD=$(jq -r '.[].database.PASSWORD' <<< ${CONF})
export INVENTREE_DB_HOST=$(jq -r '.[].database.HOST' <<< ${CONF})
export INVENTREE_DB_PORT=$(jq -r '.[].database.PORT' <<< ${CONF})
else
echo "# No config file found: ${INVENTREE_CONFIG_FILE}, using envs or defaults"
@ -160,7 +160,8 @@ function create_initscripts() {
echo "# python enviroment already present - skipping"
else
echo "# Setting up python enviroment"
sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && python3 -m venv env && pip install invoke"
sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && ${SETUP_PYTHON} -m venv env"
sudo -u ${APP_USER} --preserve-env=$SETUP_ENVS bash -c "cd ${APP_HOME} && env/bin/pip install invoke wheel"
if [ -n "${SETUP_EXTRA_PIP}" ]; then
echo "# Installing extra pip packages"