Unification: Drone config, Makefile, structure and badges

This commit is contained in:
Thomas Boerger 2016-01-18 22:33:07 +01:00
parent 64fcb9285a
commit 8cca2292e9
5 changed files with 78 additions and 35 deletions

View File

@ -1 +1 @@
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.zeqSbFcQcvYWrqhKdEZIlvaDBtTzf4ropMZQo5rf50Dqxz2kngqZm-xrK2lXvXJfjF3SMQt_4snZFpfzorum9L2TuqUeuyTcRuSSkYP7kGRTfDX4gC4qTKIhv41ahUDhgLW4VSY4F2T3ETWfZqma6BZXg1BoLWYDtxIYTtLkEJHJpPW3unudgjJ-I5_twEc6gr9OkmI5WI7BXtKTuQgru0i8CXrWkSINaLZxxSy3zl4If705MSrf1xXIyi3E85IMoVvVmwPGddtpEpOJju_fF_dueNzFvG5WlI_n2AkqEr5YFyxp_FO6qr0L44QsotygPa-cmJwwqmmNenf3qeTwCA.e89rssWN0XZrMcfi.ZbHH59hh6Koiil1XGhJIcGBDoJ2P8IG3k_XVP46lnkIasINQ9iTax1cZC7GxJvg_ALMQ-4wOS7h6IyJvGGuAly0KwM14bEBZGkTpep-CPxkRGd9GYrSwKIXBKMSHwLape2DRWWY0iKvhkQLKjMBr_oPRnfMkILbox-L3cWb0t6jlfN00jzyW3r6EB3cY_4cLFI94X5wTyZiQmF3eOHkCEF0zxc-Xs7oRvzNLtUbZ.TYmLUWSvhDyF4a8Ww8mJrg
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.zIZPFzihqcXgWK0D3eLbrSXYK_1PQznfeVzKjVBsEs9C1nHAm71GjtQ4WlFI17pgs3JMZYMCJGg5jylg3WMD2Fxqeomucv2dTpeg4R-qacuUerkBk_3fyThNh2IOqzNbr3hHPyyVwtelXk6eInJQhoa6HBaXfpPTW0_x5JHNGeMuqWIXpZceLENm46t9zh-DsqnrXnhay4gB6kjoYAM8fxV4bRYbj-ef8XTg4G6ZS7dlTZdrOWIvFmYWNGF4dnRFN7EtxvkT7zTutAeNa4wZsc-p3qX03LKsc3kNijUhLtywh1AzZ-wEiOa2nGLQov5SLEnmpQbwJZQ9meS---LG8Q.TaGSxaCL3H-MXwSp.E0OSE8VqYg1Bs8Qxo2uIi03HMQ5Cxg4THetXBK5Z5G2_Qxt_7LMo1eOmvpi_aHOEPrd53hz3Uzn0C4PTZiD6TfMG_viMiJVHpzBayN3ZjUAs7JRavheCXgnlO5u1kgyp3XmRW089JbBFl2fMs8a7Bob8jLoQPJFyEIBGEJuUayE3pmSQ98Hhw3u1KAxbLG9iJqWErICNEZoSWPfhuWU-K5FMtxP0Ewx0ceqHKhJTQdqZycsFS7aeOgq5MtUMF3T7nsFX-tnrdv4siCiYT4kI9nGTQCCW3i3-nLq9ZkD5JbLs_IG1sfVNabd1hI2OpjAfL717Mp37AFbd0dPhlU7kxUytrTwiU3JVd1vr6EA1gd5TGA3CHOxjeVLpfHXMW6SJKTE3a0Wgi_YsWz336JkMkQkywgv8g6A0mpUhMcEt_Is.sSdenvAYiKXLuRdPszf25A

View File

@ -1,5 +1,7 @@
build:
image: golang:1.5
environment:
- CGO_ENABLED=0
commands:
- make deps
- make vet
@ -7,13 +9,25 @@ build:
- make test
publish:
coverage:
when:
branch: master
docker:
username: $$DOCKER_USER
password: $$DOCKER_PASS
email: $$DOCKER_EMAIL
repo: plugins/drone-ssh
tag: latest
when:
branch: master
docker:
username: $$DOCKER_USER
password: $$DOCKER_PASS
email: $$DOCKER_EMAIL
repo: plugins/drone-ssh
tag: develop
when:
branch: develop
plugin:
name: SSH

View File

@ -1,13 +1,11 @@
.PHONY: clean deps test build docker
export GOOS ?= linux
export GOARCH ?= amd64
export CGO_ENABLED ?= 0
.PHONY: clean deps fmt vet test docker
EXECUTABLE ?= drone-ssh
IMAGE ?= plugins/$(EXECUTABLE)
CI_BUILD_NUMBER ?= 0
LDFLAGS += -X "main.buildDate=$(shell date -u '+%Y-%m-%d %H:%M:%S %Z')"
LDFLAGS += -X "main.build=$(CI_BUILD_NUMBER)"
LDFLAGS = -X "main.buildDate=$(shell date -u '+%Y-%m-%d %H:%M:%S %Z')"
PACKAGES = $(shell go list ./... | grep -v /vendor/)
clean:
go clean -i ./...
@ -15,17 +13,20 @@ clean:
deps:
go get -t ./...
test:
go test -cover ./...
fmt:
go fmt ./...
go fmt $(PACKAGES)
vet:
go vet ./...
go vet $(PACKAGES)
build:
go build -ldflags '-s -w $(LDFLAGS)'
test:
@for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
docker:
docker build --rm=true -t plugins/drone-ssh .
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-s -w $(LDFLAGS)'
docker build --rm -t $(IMAGE) .
$(EXECUTABLE): $(wildcard *.go)
go build -ldflags '-s -w $(LDFLAGS)'
build: $(EXECUTABLE)

View File

@ -1,30 +1,49 @@
# drone-ssh
[![Build Status](http://beta.drone.io/api/badges/drone-plugins/drone-ssh/status.svg)](http://beta.drone.io/drone-plugins/drone-ssh)
[![Coverage Status](https://aircover.co/badges/drone-plugins/drone-ssh/coverage.svg)](https://aircover.co/drone-plugins/drone-ssh)
[![](https://badge.imagelayers.io/plugins/drone-ssh:latest.svg)](https://imagelayers.io/?images=plugins/drone-ssh:latest 'Get your own badge on imagelayers.io')
Drone plugin for executing commands on a remote host through SSH
Drone plugin to execute commands on a remote host through SSH
## Usage
## Binary
Build the binary using `make`:
```
make deps build
```
### Example
```sh
./drone-ssh <<EOF
{
"repo" : {
"owner": "foo",
"name": "bar",
"full_name": "foo/bar"
"repo": {
"clone_url": "git://github.com/drone/drone",
"owner": "drone",
"name": "drone",
"full_name": "drone/drone"
},
"build" : {
"system": {
"link_url": "https://beta.drone.io"
},
"build": {
"number": 22,
"status": "success",
"started_at": 1421029603,
"finished_at": 1421029813,
"commit": "9f2849d5",
"branch": "master",
"message": "Update the Readme",
"author": "johnsmith",
"author_email": "john.smith@gmail.com"
"event": "push",
"branch": "master",
"commit": "436b7a6e2abaddfd35740527353e78a227ddcb2c",
"ref": "refs/heads/master"
},
"workspace": {
"root": "/drone/src",
"path": "/drone/src/github.com/drone/drone"
},
"vargs": {
"host": "foo.com",
@ -41,10 +60,10 @@ EOF
## Docker
Build the Docker container using `make`:
Build the container using `make`:
```
make deps build docker
make deps docker
```
### Example
@ -52,21 +71,31 @@ make deps build docker
```sh
docker run -i plugins/drone-ssh <<EOF
{
"repo" : {
"owner": "foo",
"name": "bar",
"full_name": "foo/bar"
"repo": {
"clone_url": "git://github.com/drone/drone",
"owner": "drone",
"name": "drone",
"full_name": "drone/drone"
},
"build" : {
"system": {
"link_url": "https://beta.drone.io"
},
"build": {
"number": 22,
"status": "success",
"started_at": 1421029603,
"finished_at": 1421029813,
"commit": "9f2849d5",
"branch": "master",
"message": "Update the Readme",
"author": "johnsmith",
"author_email": "john.smith@gmail.com"
"event": "push",
"branch": "master",
"commit": "436b7a6e2abaddfd35740527353e78a227ddcb2c",
"ref": "refs/heads/master"
},
"workspace": {
"root": "/drone/src",
"path": "/drone/src/github.com/drone/drone"
},
"vargs": {
"host": "foo.com",

View File

@ -14,7 +14,6 @@ import (
)
var (
build string
buildDate string
)