Compare commits
	
		
			3 Commits
		
	
	
		
			918daeb7cf
			...
			170578c665
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 170578c665 | |||
| 26aeba8560 | |||
| 5c9e7a57b2 | 
							
								
								
									
										13
									
								
								defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					miniconda_install_dir: '/opt/miniconda3'
 | 
				
			||||||
 | 
					miniconda_bin_dir: '{{ miniconda_install_dir }}/bin'
 | 
				
			||||||
 | 
					miniconda_envs_dir: '{{ miniconda_install_dir }}/envs'
 | 
				
			||||||
 | 
					miniconda_conda_binary: '{{ miniconda_bin_dir }}/conda'
 | 
				
			||||||
 | 
					miniconda_installer_dl_dir: '{{ miniconda_install_dir }}/_downloaded-installer'
 | 
				
			||||||
 | 
					miniconda_dl_uri_base: 'https://repo.anaconda.com/miniconda/'
 | 
				
			||||||
 | 
					miniconda_dl_uri_file: 'Miniconda3-latest-Linux-x86_64.sh'
 | 
				
			||||||
 | 
					miniconda_dl_uri: '{{ miniconda_dl_uri_base }}{{ miniconda_dl_uri_file }}'
 | 
				
			||||||
 | 
					miniconda_dl_local_abs: '{{ miniconda_installer_dl_dir }}/{{ miniconda_dl_uri_file }}'
 | 
				
			||||||
 | 
					conda_envs_template_dir: '_conda_envs_dir_'
 | 
				
			||||||
 | 
					conda_python_version: '3'
 | 
				
			||||||
 | 
					conda_package_spec: 'pip'
 | 
				
			||||||
 | 
					python_git_install_path: '/opt/python'
 | 
				
			||||||
							
								
								
									
										77
									
								
								tasks/40-install-miniconda.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								tasks/40-install-miniconda.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					- name: 'Create Miniconda base dir'
 | 
				
			||||||
 | 
					  loop_control:
 | 
				
			||||||
 | 
					    loop_var: 'conda_dir'
 | 
				
			||||||
 | 
					  loop:
 | 
				
			||||||
 | 
					    - { path: '{{ miniconda_install_dir }}', state: 'directory' }
 | 
				
			||||||
 | 
					    - { path: '{{ miniconda_installer_dl_dir }}', state: 'directory' }
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: '{{ conda_dir.path }}'
 | 
				
			||||||
 | 
					    state: '{{ conda_dir.state }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Download latest Miniconda installer'
 | 
				
			||||||
 | 
					  ansible.builtin.get_url:
 | 
				
			||||||
 | 
					    url: '{{ miniconda_dl_uri }}'
 | 
				
			||||||
 | 
					    dest: '{{ miniconda_dl_local_abs }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Set execute bit on Miniconda installer'
 | 
				
			||||||
 | 
					  ansible.builtin.file:
 | 
				
			||||||
 | 
					    path: '{{ miniconda_dl_local_abs }}'
 | 
				
			||||||
 | 
					    mode: 'a+x'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Get Miniconda installer help output'
 | 
				
			||||||
 | 
					  register: 'rv_miniconda_installer_help'
 | 
				
			||||||
 | 
					  changed_when: 'rv_miniconda_installer_help.rc != 2'
 | 
				
			||||||
 | 
					  failed_when: 'rv_miniconda_installer_help.rc != 2'
 | 
				
			||||||
 | 
					  ansible.builtin.shell: '{{ miniconda_dl_local_abs }} -h'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Get Miniconda installer version from help output'
 | 
				
			||||||
 | 
					  when: 'rv_miniconda_installer_help.rc == 2'
 | 
				
			||||||
 | 
					  set_fact:
 | 
				
			||||||
 | 
					    miniconda_installer_version: '{{ rv_miniconda_installer_help.stdout | regex_search(''Installs Miniconda3 (py.*?_)(.*?)(\n)'', ''\2'') }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Get conda version output'
 | 
				
			||||||
 | 
					  register: 'rv_conda_version_output'
 | 
				
			||||||
 | 
					  changed_when: 'rv_conda_version_output.rc != 0'
 | 
				
			||||||
 | 
					  failed_when: 'false'
 | 
				
			||||||
 | 
					  ansible.builtin.shell: 'conda --version 2> ''/dev/null'''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Get conda version from version output'
 | 
				
			||||||
 | 
					  register: 'rv_conda_version'
 | 
				
			||||||
 | 
					  changed_when: '(not conda_version) or (rv_conda_version_output.rc != 0)'
 | 
				
			||||||
 | 
					  failed_when: 'false'
 | 
				
			||||||
 | 
					  set_fact:
 | 
				
			||||||
 | 
					    conda_version: '{{ rv_conda_version_output.stdout | regex_search(''conda ([^\r\n\f]+)'', ''\1'') }}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'If Miniconda old or missing: install it'
 | 
				
			||||||
 | 
					  when: '(miniconda_installer_version | first is version(''4.11.9'', ''>'')) or (not conda_version)'
 | 
				
			||||||
 | 
					  register: 'rv_miniconda_install'
 | 
				
			||||||
 | 
					  ansible.builtin.shell: '{{ miniconda_dl_local_abs }} -b -p ''{{ miniconda_install_dir }}'' -u'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'If Miniconda was installed: Initialize'
 | 
				
			||||||
 | 
					  when: 'rv_miniconda_install.changed'
 | 
				
			||||||
 | 
					  register: 'rv_conda_init'
 | 
				
			||||||
 | 
					  ansible.builtin.shell: '{{ miniconda_conda_binary }} init'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: 'Set ~/.condarc file'
 | 
				
			||||||
 | 
					  ansible.builtin.copy:
 | 
				
			||||||
 | 
					    src: '_current_user_home_/.condarc'
 | 
				
			||||||
 | 
					    dest: '{{ ansible_env.HOME }}/.condarc'
 | 
				
			||||||
 | 
					    mode: '0644'
 | 
				
			||||||
							
								
								
									
										1
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					- import_tasks: '40-install-miniconda.yml'
 | 
				
			||||||
		Reference in New Issue
	
	Block a user