Romantyk

Marian jest trochę poetą, dlatego przydałby mu się jakiś edytor. Jak że też jest trochę cebulą dlatego używa pycharm comnunity. Nie jest też najmłodszy więc vim też mu nie jest obcy.

alternate text alternate text

Rola: Editors

roles/
   bashrc/
     tasks/
         main.yml
     defaults/
         main.yml

Defaults

# defaults file for pycharm
---
pycharm_version: 2018.1.3
pycharm_edition: community
pycharm_install_prefix: /opt
pycharm_downloads_path: /var/lib/pycharm/downloads

Tasks

# from https://github.com/Oefenweb/ansible-pycharm/
---
- name: create (download) directory
  file:
    path: "{{ pycharm_downloads_path }}"
    state: directory
    owner: root
    group: root
    mode: 0755

- name: download
  get_url:
    url: "http://download.jetbrains.com/python/pycharm-{{ pycharm_edition }}-{{ pycharm_version }}.tar.gz"
    dest: "{{ pycharm_downloads_path }}/pycharm-{{ pycharm_edition }}-{{ pycharm_version }}.tar.gz"
    owner: root
    group: root
    mode: 0644

- name: install
  unarchive:
    src: "{{ pycharm_downloads_path }}/pycharm-{{ pycharm_edition }}-{{ pycharm_version }}.tar.gz"
    dest: "{{ pycharm_install_prefix }}"
    creates: "{{ pycharm_install_prefix }}/pycharm-{{ pycharm_version }}"
    copy: false

- name: add alias pycharm
  lineinfile:
    path: "{{ user_config }}/aliases.sh"
    line: "alias pycharm={{ pycharm_install_prefix }}/pycharm-{{ pycharm_edition }}-{{ pycharm_version }}/bin/pycharm.sh"
    state: present


- name: install vim
  apt:
    name: "vim"
    state: present

Output

$ ansible-playbook playbooks/editors.yml

PLAY [install pycharm] *************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************
ok: [localhost]

TASK [editors : create (download) directory] ***************************************************************************************************************************************************************
ok: [localhost]

TASK [editors : download] **********************************************************************************************************************************************************************************
ok: [localhost]

TASK [editors : install] ***********************************************************************************************************************************************************************************
ok: [localhost]

TASK [editors : add alias pycharm] *************************************************************************************************************************************************************************
ok: [localhost]

TASK [editors : install vim] *******************************************************************************************************************************************************************************
ok: [localhost]

PLAY RECAP *************************************************************************************************************************************************************************************************
localhost                  : ok=6    changed=0    unreachable=0    failed=0

Note

lineinfile pozwala na dodawanie linii do dowolnego pliku, na przykład bashrc lineinfile