test.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. ---
  2. - hosts: all
  3. become: yes
  4. become_user: root
  5. become_method: sudo
  6. gather_facts: yes
  7. vars:
  8. ruby_version: "2.1.3"
  9. rvm_path: "/usr/local/rvm/gems/ruby-{{ ruby_version }}/bin:/usr/local/rvm/gems/ruby-{{ ruby_version }}@global/bin:/usr/local/rvm/"
  10. raft_repo: "https://github.com/yossigo/redisraft"
  11. raft_branch: "cluster"
  12. mypkgs:
  13. - git
  14. - gcc
  15. - make
  16. - rpm-build
  17. - autoconf
  18. - automake
  19. - libedit
  20. - openssl-devel
  21. - epel-release
  22. - libbsd-devel
  23. - libbsd
  24. - curl
  25. - gnupg2
  26. pre_tasks:
  27. - name: RedHat Dev Tools
  28. yum:
  29. name: "@Development tools"
  30. state: present
  31. - name: RedHat Packages
  32. package:
  33. name: "{{ mypkgs }}"
  34. - name: Get cmake version
  35. unarchive:
  36. src: "https://cmake.org/files/v3.19/cmake-3.19.1.tar.gz"
  37. dest: /usr/local/share/
  38. remote_src: yes
  39. - name: Bootstrap cmake
  40. command: "./bootstrap"
  41. args:
  42. chdir: /usr/local/share/cmake-3.19.1
  43. creates: /usr/local/share/cmake-3.19.1/Makefile
  44. - name: Cmake - Build install
  45. make:
  46. chdir: /usr/local/share/cmake-3.19.1
  47. target: install
  48. - name: Link cmake
  49. file:
  50. src: /usr/local/bin/cmake
  51. dest: /usr/bin/cmake
  52. state: link
  53. tasks:
  54. - name: raft - clone the github repo
  55. git:
  56. repo: "{{raft_repo}}"
  57. dest: /home/redis/redisraft
  58. version: "{{raft_branch}}"
  59. recursive: yes
  60. update: yes
  61. force: yes
  62. - name: raft - make
  63. make:
  64. chdir: /home/redis/redisraft
  65. - name: checkout redis git repo
  66. git:
  67. repo: 'https://github.com/redis/redis'
  68. dest: /home/redis/redis
  69. - name: redis - Build the default target
  70. make:
  71. chdir: /home/redis/redis
  72. - name: append rvm path to environment
  73. lineinfile: dest=/etc/environment state=present backrefs=yes regexp='PATH=(["]*)((?!.*?{{rvm_path}}).*?)(["]*)$' line="PATH=\1\2:{{rvm_path}}\3"
  74. - name: ensure that GPG key for RVM is installed
  75. command: gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
  76. args:
  77. creates: /root/.gnupg/secring.gpg
  78. - name: ensure that RVM is installed
  79. shell: curl -L get.rvm.io | bash -s stable
  80. args:
  81. creates: /usr/local/rvm
  82. - name: ensure that ruby is installed
  83. command: "rvm install {{ ruby_version }}"
  84. args:
  85. creates: "/usr/local/rvm/gems/ruby-{{ ruby_version }}"
  86. environment:
  87. PATH: "{{ rvm_path }}:{{ ansible_env.PATH }}"
  88. - name: set default version of ruby with rvm
  89. command: "rvm alias create default ruby-{{ ruby_version }}"
  90. args:
  91. creates: /usr/local/rvm/config/alias
  92. environment:
  93. PATH: "{{ rvm_path }}:{{ ansible_env.PATH }}"
  94. - name: Install FPM
  95. community.general.gem:
  96. name: fpm
  97. state: present