diff --git a/.ansible/inventory b/.ansible/inventory new file mode 100644 index 0000000..7658f19 --- /dev/null +++ b/.ansible/inventory @@ -0,0 +1,5 @@ +[lavana] +lavana.sour.is + +[kapha] +kapha.sour.is \ No newline at end of file diff --git a/.ansible/playbook.yml b/.ansible/playbook.yml new file mode 100644 index 0000000..c539360 --- /dev/null +++ b/.ansible/playbook.yml @@ -0,0 +1,16 @@ +--- +- name: Deploy sshFwd + hosts: lavana + + tasks: + - name: Copy build to remote + ansible.builtin.copy: + src: sshfwd + dest: /usr/local/bin/sshfwd + owner: root + group: root + - name: Restart service + systemd: + name: sshfwd + enabled: true + state: restarted \ No newline at end of file diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..9217382 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,51 @@ +kind: pipeline +type: docker +name: build + +steps: +- name: test + image: golang:1.20 + commands: + - go test -v -race ./... + +trigger: + event: + - push + - pull_request + +--- +kind: pipeline +type: docker +name: deploy + +steps: +- name: build + image: golang:1.20 + environment: + GOOS: linux + GOARCH: amd64 + commands: + - go build -ldflags "-s -w" -o build/sshfwd ./cmd/sshfwd + +- name: compress + image: gruebel/upx:latest + commands: + - upx --best --lzma -o .ansible/sshfwd build/sshfwd + +- name: deploy + image: plugins/ansible:3 + settings: + playbook: .ansible/playbook.yml + inventory: .ansible/inventory + become: true + become_method: sudo + ssh_common_args: -p 65535 + user: deploy + private_key: + from_secret: drone_ssh + +trigger: + event: + - promote + target: + - production