diff --git a/gitlab/runner.sls b/gitlab/runner.sls index 6ffb3d6..0d37832 100644 --- a/gitlab/runner.sls +++ b/gitlab/runner.sls @@ -1,29 +1,49 @@ # vim: sts=2 ts=2 sw=2 et ai # {% from "gitlab/map.jinja" import gitlab with context %} -install_runserver: - pkg.installed: - - pkgs: - - wget -install_runserver1: +gitlab-install_pkg: pkg.installed: - sources: - gitlab-runner: {{gitlab.runner.downloadpath}} -install_runserver2: - cmd.run: - - name: "useradd -s /bin/false -m -r {{gitlab.runner.username}}" +gitlab-create_group: + group.present: + - name: "gitlab-runner" + - system: True + - require: + - pkg: gitlab-install_pkg + +gitlab-install_runserver_create_user: + user.present: + - name: {{gitlab.runner.username}} + - shell: /bin/false + - home: /home/{{gitlab.runner.username}} + - groups: + - gitlab-runner + - require: + - group: gitlab-create_group -install_runserver3: +gitlab-install_runserver3: cmd.run: - name: "export CI_SERVER_URL='{{gitlab.runner.url}}'; export REGISTRATION_TOKEN='{{gitlab.runner.token}}'; /opt/gitlab-runner/bin/setup -C /home/{{gitlab.runner.username}};" + - unless: 'test -e /home/{{gitlab.runner.username}}/config.yml' + - require: + - user: gitlab-install_runserver_create_user -install_runserver4: - cmd.run: - - name: "cp /opt/gitlab-runner/doc/install/upstart/gitlab-runner.conf /etc/init/" - - unless: file.exists /etc/init/gitlab-runner.conf +gitlab-create_init_file: + file.copy: + - name: "/etc/init/gitlab-runner.conf" + - source: "/opt/gitlab-runner/doc/install/upstart/gitlab-runner.conf" + - user: "root" + - group: "root" + - mode: 644 + - unless: 'test -e /etc/init/gitlab-runner.conf' + - require: + - cmd: gitlab-install_runserver3 -install_runserver5: - cmd.run: - - name: "service gitlab-runner start" +gitlab-runner: + service.running: + - enable: True + - require: + - file: gitlab-create_init_file