diff --git a/.drone.yml b/.drone.yml index e23ef41..ba182f8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,10 +10,13 @@ steps: - name: create release tar image: golang commands: - - mkdir dist - - tar -czf dist/release-$DRONE_TAG-$DRONE_STAGE_ARCH.tar.gz init/guildgate.service config.yaml.sample guildgate + - mkdir dist build + - make install + - tar -czf dist/release-$DRONE_TAG-$DRONE_STAGE_ARCH.tar.gz build/* when: event: tag + environment: + DESTDIR: build - name: release image: plugins/gitea-release diff --git a/deploy.yml b/deploy.yml new file mode 100644 index 0000000..40f82da --- /dev/null +++ b/deploy.yml @@ -0,0 +1,53 @@ +--- + +- hosts: localhost + tasks: + + - name: check guildgate version + uri: + url: https://git.saintnet.tech/api/v1/repos/stryan/guildgate/releases?limit=1 + return_content: true + register: guildgate_latest + + - name: "downloading and installing guildgate {{ guildgate_latest.json[0].tag_name }}" + block: + - name: create temp directory + tempfile: + state: directory + suffix: dwn + register: tempfolder_1 + + - name: download guildgate + loop: "{{ guildgate_latest.json[0].assets }}" + when: "'amd64.tar.gz' in item.name" + unarchive: + remote_src: yes + src: "{{ item.browser_download_url }}" + dest: "{{ tempfolder_1.path }}" + keep_newer: yes + + - name: installing guildgate binary + copy: + remote_src: yes + src: "{{ tempfolder_1.path }}/guildgate" + dest: /usr/local/bin/ + mode: '0755' + register: new_binary + + - name: installing unit file + copy: + remote_src: yes + src: "{{ tempfolder_1.path }}/init/guildgate.service" + dest: /etc/systemd/system/guildgate.service + register: new_unit + + - name: reload systemd with new unit + systemd: + daemon_reload: yes + when: new_unit.changed or new_binary.changed + + - name: start service + systemd: + name: guildgate + state: restarted + when: new_binary.changed