better release system
Some checks failed
continuous-integration/drone Build is passing
continuous-integration/drone/tag Build is failing

This commit is contained in:
stryan 2021-08-07 15:00:42 -04:00
parent 24e2118c80
commit f8a51fad3b
2 changed files with 58 additions and 2 deletions

View File

@ -10,10 +10,13 @@ steps:
- name: create release tar - name: create release tar
image: golang image: golang
commands: commands:
- mkdir dist - mkdir dist build
- tar -czf dist/release-$DRONE_TAG-$DRONE_STAGE_ARCH.tar.gz init/guildgate.service config.yaml.sample guildgate - make install
- tar -czf dist/release-$DRONE_TAG-$DRONE_STAGE_ARCH.tar.gz build/*
when: when:
event: tag event: tag
environment:
DESTDIR: build
- name: release - name: release
image: plugins/gitea-release image: plugins/gitea-release

53
deploy.yml Normal file
View File

@ -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