main.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 }}"
  19. group: "{{ gogs_user }}"
  20. - name: Expand Gogs.
  21. shell: >
  22. su -c "unzip {{ gogs_user_home }}/gogs.zip -d {{ gogs_user_home }}" -s /bin/bash {{ gogs_user }}
  23. chdir={{ gogs_user_home }}
  24. creates={{ gogs_user_home }}/gogs/gogs
  25. - include: gogs-mysql.yml
  26. - name: Copy gogs init file.
  27. template:
  28. src: gogs-init.j2
  29. dest: /etc/init.d/gogs
  30. owner: root
  31. group: root
  32. mode: 0755
  33. - name: Create Gogs log folder.
  34. file:
  35. path: "{{ gogs_user_home }}/gogs/log"
  36. state: directory
  37. owner: "{{ gogs_user }}"
  38. group: "{{ gogs_user }}"
  39. mode: 0755
  40. - name: Check if Gogs is running.
  41. command: service gogs status
  42. changed_when: false
  43. register: gogs_status
  44. - name: Ensure Gogs is running.
  45. shell: >
  46. su -c "service gogs start" -s /bin/bash {{ gogs_user }}
  47. when: "'running' not in gogs_status.stdout"