Skip to content
Snippets Groups Projects
Select Git revision
  • 0d0f7613daa9894d93ac5467750ba7a0a9c7209a
  • master default protected
  • hsh_v4.5
  • hsh_v4-4
  • hsh_v4.4
  • hsh_v4.3
  • hsh_v4.1.x
  • hsh_v4.2
  • hsh_v4.1
  • hsh_v3.11
  • hsh_3.10
  • v3.11-r2-hsh
  • v3.11-r2
  • v3.11-r1
  • v3.10-r1
  • v3.9-r1
  • v3.8-r2
  • v3.8-r1
  • v3.7-r1
19 results

install.xml

Blame
  • venv.sls 2.57 KiB
    {% from "deploy/map.jinja" import deploy with context %}
    
    include:
      - deploy.user
    
    deploy_venv_pkgs:
      pkg.installed:
        - pkgs: ['python3', 'virtualenv', 'python3-pip', 'python3-virtualenv', 'python3-venv']
    
    {% set group_members = [] %}
    {% for key in deploy.projects.keys() %}
    {% do group_members.append(key) %}
    {% endfor %}
    deploy_provision_virtualenv_group_with_members:
      group.present:
        - name: virtualenv
        - system: True
        - members: {{ group_members }}
    
    deploy_venv_directory:
      file.directory:
        - name: {{ deploy.config.venv_directory }}
        - user: deployer
        - group: virtualenv
        - mode: 2770
        - require:
          - user: deployer
          - group: virtualenv
    
    {% for project_name, project_config in deploy.projects.items() if project_config.get('venv', False) %}
    {% set venv_config = project_config.venv %}
    
    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
        - env:
            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: 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:
            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 %}