main.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---
  2. - name: Ensure unzip is installed (RedHat).
  3. yum: pkg=unzip state=installed
  4. when: ansible_os_family == 'RedHat'
  5. - name: Ensure unzip is installed (Debian).
  6. apt: pkg=unzip state=installed
  7. when: ansible_os_family == 'Debian'
  8. - name: Create user for Gogs.
  9. user: >
  10. name={{ gogs_user }}
  11. comment=Gogs
  12. home={{ gogs_user_home }}
  13. shell=/bin/bash
  14. - name: Download Gogs.
  15. get_url: >
  16. url={{ gogs_binary_url }}
  17. dest={{ gogs_user_home }}/gogs.zip
  18. owner={{ gogs_user }} group={{ gogs_user }}
  19. - name: Expand Gogs.
  20. shell: >
  21. su -c "unzip {{ gogs_user_home }}/gogs.zip -d {{ gogs_user_home }}" -s /bin/bash {{ gogs_user }}
  22. chdir={{ gogs_user_home }}
  23. creates={{ gogs_user_home }}/gogs/gogs
  24. - include: gogs-mysql.yml
  25. - name: Copy gogs init file.
  26. template: >
  27. src=gogs-init.j2
  28. dest=/etc/init.d/gogs
  29. owner=root group=root mode=755
  30. - name: Create Gogs log folder.
  31. file: >
  32. path={{ gogs_user_home }}/gogs/log
  33. state=directory
  34. owner={{ gogs_user }} group={{ gogs_user }} mode=755
  35. - name: Check if Gogs is running.
  36. command: service gogs status
  37. changed_when: false
  38. register: gogs_status
  39. - name: Ensure Gogs is running.
  40. shell: >
  41. su -c "service gogs start" -s /bin/bash {{ gogs_user }}
  42. when: "'running' not in gogs_status.stdout"