|
1 | 1 | ---
|
2 |
| -- name: install packages |
3 |
| - action: "{{ ansible_pkg_mgr }} pkg={{ item }} state=installed" |
| 2 | +- name: Install packages |
| 3 | + package: name={{ item }} state=present |
4 | 4 | with_items:
|
5 | 5 | - rubygem-bundler
|
6 | 6 | - ruby-devel
|
|
18 | 18 | - zlib-devel
|
19 | 19 | - PyYAML
|
20 | 20 |
|
21 |
| -- name: install packages |
22 |
| - action: "{{ ansible_pkg_mgr }} pkg={{ item }} state=installed" |
| 21 | +- name: Install more packages for Fedora |
| 22 | + package: name={{ item }} state=present |
23 | 23 | with_items:
|
24 | 24 | - redhat-rpm-config
|
25 | 25 | when: ansible_distribution == 'Fedora' and ansible_distribution_major_version >= '23'
|
26 | 26 |
|
27 | 27 | - set_fact: checkout_dir="/srv/builder/{{ name }}"
|
28 | 28 |
|
29 |
| -- copy: dest=/usr/local/bin/build_deploy.py src=build_deploy.py mode=755 owner=root group=root |
| 29 | +- name: Deploy the build script |
| 30 | + copy: dest=/usr/local/bin/build_deploy.py src=build_deploy.py mode=755 owner=root group=root |
30 | 31 |
|
31 |
| -- user: |
| 32 | +- name: Create {{ builder_username }} to build |
| 33 | + user: |
32 | 34 | name="{{ builder_username }}"
|
33 | 35 | comment="Middleman builder user"
|
34 | 36 | generate_ssh_key=yes
|
|
37 | 39 | register: result
|
38 | 40 |
|
39 | 41 | # needed so NRPE can check log
|
40 |
| -- file: path="/srv/builder" mode=755 state=directory |
| 42 | +- name: Fix directory permission for NRPE |
| 43 | + file: path="/srv/builder" mode=755 state=directory |
41 | 44 |
|
42 | 45 |
|
43 |
| -- git: repo="{{ git_url }}" dest="{{ checkout_dir }}" version="{{ git_version | default( "HEAD" ) }}" update="no" |
| 46 | +- name: Clone git repo {{ git_url }} |
| 47 | + git: repo="{{ git_url }}" dest="{{ checkout_dir }}" version="{{ git_version | default( "HEAD" ) }}" update="no" |
44 | 48 | become: yes
|
45 | 49 | become_user: '{{ builder_username }}'
|
46 | 50 | become_method: 'su'
|
47 | 51 |
|
48 |
| -- command: chdir="{{ checkout_dir }}" bundle install |
| 52 | +- name: Install gems required to build |
| 53 | + command: chdir="{{ checkout_dir }}" bundle install |
49 | 54 | become: yes
|
50 | 55 | become_user: '{{ builder_username }}'
|
51 | 56 | become_method: 'su'
|
|
57 | 62 | rsync_url: "{{ rsync_user }}@{{ rsync_server }}:{{rsync_location}}"
|
58 | 63 | when: rsync_server is defined and rsync_location is defined and rsync_user is defined
|
59 | 64 |
|
60 |
| -- template: dest=/srv/builder/{{ name }}.yml src=builder.yml |
| 65 | +- name: Deploy yaml config for {{ name }} |
| 66 | + template: dest=/srv/builder/{{ name }}.yml src=builder.yml |
61 | 67 |
|
62 |
| -- cron: name="build and deploy {{ name }}" job="/usr/local/bin/build_deploy.py /srv/builder/{{ name }}.yml" user="{{ builder_username }}" |
| 68 | +- name: Add cron to build {{ name }} |
| 69 | + cron: name="build and deploy {{ name }}" job="/usr/local/bin/build_deploy.py /srv/builder/{{ name }}.yml" user="{{ builder_username }}" |
63 | 70 |
|
64 | 71 | # TODO add ip restriction
|
65 |
| -- authorized_key: |
| 72 | +- name: Copy the key on the other side |
| 73 | + authorized_key: |
66 | 74 | key="{{ result.ssh_public_key }}"
|
67 | 75 | key_options="command=\"rsync --server -vlogDtprze.isf --delete-after . {{ rsync_location }}\",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty"
|
68 | 76 | user="{{ rsync_user }}"
|
|
0 commit comments