main.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. ---
  2. # Include variables and define needed variables.
  3. - name: Include OS-specific variables.
  4. include_vars: "{{ ansible_os_family }}.yml"
  5. - name: Ensure unzip is installed (RedHat).
  6. yum: pkg=unzip state=installed
  7. when: ansible_os_family == 'RedHat'
  8. - name: Ensure unzip is installed (Debian).
  9. apt: pkg=unzip state=installed
  10. when: ansible_os_family == 'Debian'
  11. - name: Create user for Gogs.
  12. user:
  13. name: "{{ gogs_user }}"
  14. comment: Gogs
  15. home: "{{ gogs_user_home }}"
  16. - name: Check if Gogs is already installed.
  17. stat: path=/usr/local/bin/gogs
  18. register: gogs_bin
  19. - name: Download Gogs.
  20. get_url:
  21. url: "{{ gogs_binary_url }}"
  22. dest: "{{ gogs_user_home }}/gogs.zip"
  23. owner: "{{ gogs_user }}"
  24. group: "{{ gogs_user }}"
  25. when: gogs_bin.stat.islnk is not defined
  26. - name: Expand Gogs.
  27. unarchive:
  28. src: "{{ gogs_user_home }}/gogs.zip"
  29. dest: "{{ gogs_user_home }}"
  30. group: "{{ gogs_user }}"
  31. owner: "{{ gogs_user }}"
  32. copy: no
  33. when: gogs_bin.stat.islnk is not defined
  34. - include: init-setup.yml
  35. - include: gogs-mysql.yml
  36. - name: Create Gogs log folder.
  37. file:
  38. path: "{{ gogs_user_home }}/gogs/log"
  39. state: directory
  40. owner: "{{ gogs_user }}"
  41. group: "{{ gogs_user }}"
  42. mode: 0755
  43. - name: Ensure Gogs is running.
  44. service: name=gogs state=started enabled=yes