[ { "name": "packages", "become": true, "ansible.builtin.apt": { "update_cache": true, "pkg": [ "git", "make", "rsync", "nodejs" ] } }, { "name": "user and directory", "become": true, "ansible.builtin.user": { "name": "{{var_espe_backend_user}}", "create_home": true, "home": "{{var_espe_backend_directory}}" } }, { "name": "program | fetch", "become": true, "become_user": "{{var_espe_backend_user}}", "ansible.builtin.git": { "repo": "https://gitlab.die-linke.cloud/espe/backend", "version": "{{var_espe_backend_git_reference}}", "dest": "/tmp/espe-backend-repo" } }, { "name": "program | build", "become": true, "become_user": "{{var_espe_backend_user}}", "ansible.builtin.command": { "chdir": "/tmp/espe-backend-repo", "cmd": "tools/build" } }, { "name": "program | deploy", "become": true, "become_user": "{{var_espe_backend_user}}", "ansible.builtin.command": { "chdir": "/tmp/espe-backend-repo", "cmd": "tools/deploy localhost --target-directory={{var_espe_backend_directory}}" } }, { "name": "conf", "become": true, "ansible.builtin.template": { "src": "conf.json.j2", "dest": "{{var_espe_backend_directory}}/conf.json", "owner": "{{var_espe_backend_user}}" } }, { "name": "systemd unit", "become": true, "ansible.builtin.template": { "src": "systemd_unit.j2", "dest": "/etc/systemd/system/espe.service" } }, { "name": "run", "become": true, "ansible.builtin.systemd_service": { "name": "espe", "enabled": true, "state": "restarted" } } ]