diff --git a/deploy/venv.sls b/deploy/venv.sls index 1ee6f8a0f136a8c6ed35b0a83dbe3f98a88a2fad..61636ab96e058a7655796e6eab1a35ade145faba 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 %}