summaryrefslogtreecommitdiff
path: root/roles/pipeliner/tasks/pipeline.yml
blob: 7186f83912bab0b3607a978ea5067f5416720158 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---

# Needed for stretch as we need golang >= 1.9 (for x/draw dependency), and stretch
# only has 1.8 available
- name: Install debian backports
  lineinfile:
    path: /etc/apt/sources.list.d/backports.list
    line: deb http://deb.debian.org/debian stretch-backports main
    create: yes

# This shouldn't be needed due to update_cache line in the below install rule,
# however that doesn't seem to trigger for some reason
- name: Update apt
  apt:
    update_cache: yes

- name: Install golang
  apt:
    name: golang-go
    state: present
    default_release: stretch-backports
    update_cache: yes

# Do this manually rather than relying on go get so that step can
# be skipped if nothing has been changed
- name: Get go repo
  git: dest=/home/{{ ansible_user }}/src/go/src/rescribe.xyz/{{ item }} repo=https://git.rescribe.xyz/{{ item }}
  become: no
  with_items:
    - bookpipeline
    - preproc
    - utils
  register: gorepo

- name: Get and build bookpipeline and dependencies
  command: go get -u rescribe.xyz/bookpipeline/...
  environment:
    GOPATH: /home/{{ ansible_user }}/src/go
  become: no
  when: gorepo.changed

- name: Install bookpipeline binary
  copy:
    remote_src: true
    src: /home/{{ ansible_user }}/src/go/bin/bookpipeline
    dest: /usr/local/bin/
    owner: root
    group: root
    mode: 0755

- name: Install updatepipeline script
  template:
    src: updatepipeline.j2
    dest: /usr/local/bin/updatepipeline
    owner: root
    group: root
    mode: 0755

- name: Install systemd unit file
  copy: src=bookpipeline.service dest=/etc/systemd/system
  notify: reload daemons

- name: Enable service
  service: name=bookpipeline enabled=true