From 823c88356cc7e18991dd2b60103ce17b6d603459 Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme <jan.philipp@timme.it> Date: Thu, 19 Dec 2019 17:28:24 +0100 Subject: [PATCH] Replace virtualenv.managed because lack of cooperation --- deploy/venv.sls | 53 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/deploy/venv.sls b/deploy/venv.sls index 1ee6f8a..61636ab 100644 --- a/deploy/venv.sls +++ b/deploy/venv.sls @@ -30,14 +30,18 @@ deploy_venv_directory: {% for project_name, project_config in deploy.projects.items() if project_config.get('venv', False) %} {% set venv_config = project_config.venv %} -deploy_{{ project_name }}_venv: - virtualenv.managed: - - name: {{ venv_config.path }} - - python: /usr/bin/python3 +create_{{ project_name }}_venv: + cmd.run: + - name: python3 -m venv {{ venv_config.path }} + - user: deployer + - require: + - file: deploy_venv_directory + - pkg: deploy_venv_pkgs + +upgrade_pip_in_{{ project_name }}_venv: + cmd.run: + - name: {{ venv_config.path }}/bin/pip install --upgrade pip - user: deployer - - system_site_packages: False - - pip_upgrade: true - - requirements: {{ venv_config.requirements }} - env_vars: LANG: en_US.UTF-8 LC_CTYPE: en_US.UTF-8 @@ -45,7 +49,38 @@ deploy_{{ project_name }}_venv: PIP_TRUSTED_HOST: 'apt-proxy.it.hs-hannover.de' PIP_INDEX_URL: 'http://apt-proxy.it.hs-hannover.de:3141/root/pypi/+simple/' - require: - - file: deploy_venv_directory - - pkg: deploy_venv_pkgs + - cmd: create_{{ project_name }}_venv + +install_requirements_in_{{ project_name }}_venv: + cmd.run: + - name: {{ venv_config.path }}/bin/pip install -r {{ venv_config.requirements }} + - user: deployer + - env_vars: + LANG: en_US.UTF-8 + LC_CTYPE: en_US.UTF-8 + LC_ALL: en_US.UTF-8 + PIP_TRUSTED_HOST: 'apt-proxy.it.hs-hannover.de' + PIP_INDEX_URL: 'http://apt-proxy.it.hs-hannover.de:3141/root/pypi/+simple/' + - require: + - cmd: upgrade_pip_in_{{ project_name }}_venv + +# Replaced by blocks above, kept for documentation and easy revertability by visibility. +#deploy_{{ project_name }}_venv: +# virtualenv.managed: +# - name: {{ venv_config.path }} +# - python: /usr/bin/python3 +# - user: deployer +# - system_site_packages: False +# - pip_upgrade: true +# - requirements: {{ venv_config.requirements }} +# - env_vars: +# LANG: en_US.UTF-8 +# LC_CTYPE: en_US.UTF-8 +# LC_ALL: en_US.UTF-8 +# PIP_TRUSTED_HOST: 'apt-proxy.it.hs-hannover.de' +# PIP_INDEX_URL: 'http://apt-proxy.it.hs-hannover.de:3141/root/pypi/+simple/' +# - require: +# - file: deploy_venv_directory +# - pkg: deploy_venv_pkgs {% endfor %} -- GitLab