52 lines
807 B
YAML
52 lines
807 B
YAML
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
|