Unification: Drone config, Makefile, structure and badges
This commit is contained in:
parent
1b8ed88565
commit
78cce00412
@ -1 +1 @@
|
|||||||
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.I7UNh81HqRV7vD9XrlFPRj5OjqcA0Os9gr4HIvWexZ4pbAwW0jG-rS7j0_maMt-36TDnw8yq_QuYYq9krlgrYxOr8hDtD8HpUjvf4gTtBP8gFWlzk2iax7ZYBdt7WzqWLdnOgPO0UbTYsMqpmlvEkWPmWutThEQYUrgtRqL6Wg8C_7ZM9e4HIL-d8v3fEKThJxK4bosRruCULXXEFqy2l98PtkA7ZIuijDB8sHMpRPPhhNyJCfqH1Mq1qc5Lv7BXTnHMWB4o9vc__Mi6fPxKRPdf0UYXwR1aBbrRjHelWFgIIcELZyS_UE-06va6eUhV1VKYIxnhn9WCPCocvaOa3w._YYkhrS1UVH--LOy.70UCog1CF2x1ENWrW8KbeJ98zVPSDsvWW3jFFIpeIiLSMrie9yywx0MDygLZt8DqVyRe65VyUr2_ZLVVgp2PAA8tSB99CAT124zut-MFYfLrczIQompPPXeEOnnbao3zNGCoUBROZVthwDaYD1QRW8ALyV5AoTwz97rm7DaMG1BkzAUSMLcOIXrDsZ3t7kJfT-VLn3NAOQtau7eozG98AWXOHoUQyEKdFAJU6h4ZW7UvuW5Z2ZXwoOSLDEjby9H88bUyDtHqDGPx1tXuPruggbGFExMSTxzFvCJ3SfBtRk7rTdMTJljPeiKVmUGUeBqBUI3PwGcoaKwb22BH89-trNdrdzC3OuBrdtlaGG0eyq28fVVQ3Revdqv9cms9bgQ9RM1o9A.d1XqcZFGi6M3YOIV1osnCg
|
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.G6Nny2XGFBtLfgrL0cPtC35a5yZkANTXmCQNlV4d91wNW1FSZWdHhTC9uwn5OaGq8TaeSlg3SLdt02ypmx38WenTc1zFbSjElfVWm8nQJP689ggy5EL0vTIXczbzwKk3Y7KVFAH0g4Xi_Lr6SdJJTIZREACkKcVDWVod44e32bFF7iF-u9vhIQ0GpB76d-WFJgSzBlh4ojBrCA_un2ItjJ3rVPfJi00VbTkh8fiovOsiTWg1MhgcTDyh78tqlD-f9fdeP4W5a88-v7l6H45ttrmhfPFyT46Xju7uhtdLX5MwtqZ_augSelw8qkXmUVM_yNqBDA04HGJBSGxT8rKWKg.QuQsEmFZNiVkEwAJ.XuYkMZlmfeQRaHFpRCg0Y6Ynkj7bxHyPLQ1Okmnk-F7HGogeaS4zxrbc9GQK_EKe5mEaDE_NkS76tAABChSnsXONmTezeRakyatc00PZYykARf2dwodwENI9rrHqZFJqnC0l5moFQyC9iFICeLP9RVdQ9DZhc0t-GU2hCK_CglZ09Ag2eHtvi8x75483_x_ZtVkpF1vsMXOxUMCDO_wCVcWy6o-Fkx7gPBR6AR56qD-MRBGeNn975IQ3bV1fxRTYnvRC3tX6xslZoQ6M-lIZTWFTTvZkEWYe3FSwD2HYUbm7rI4iivoNsFzmsMl38SqSQ_s_MyLcju9CcJsVmXokixKk-TcVCoDDG62gUQWTXEG4jz2sMxfwU4H2Fgg7AlFh2_At3gSVr2GXdgMtB1TYr0e1KQIVW_3DbNtYi6_neHg.k_x3SoJ2TUSAx_awKAYQWw
|
26
.drone.yml
26
.drone.yml
@ -1,27 +1,37 @@
|
|||||||
build:
|
build:
|
||||||
image: golang:1.5
|
image: golang:1.5
|
||||||
environment:
|
environment:
|
||||||
- GO15VENDOREXPERIMENT=1
|
|
||||||
- GOOS=linux
|
|
||||||
- GOARCH=amd64
|
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=0
|
||||||
commands:
|
commands:
|
||||||
- go get
|
- make deps
|
||||||
- go build
|
- make vet
|
||||||
- go test
|
- make build
|
||||||
|
- make test
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
|
coverage:
|
||||||
|
when:
|
||||||
|
branch: master
|
||||||
docker:
|
docker:
|
||||||
username: drone
|
username: $$DOCKER_USER
|
||||||
password: $$DOCKER_PASS
|
password: $$DOCKER_PASS
|
||||||
email: $$DOCKER_EMAIL
|
email: $$DOCKER_EMAIL
|
||||||
repo: plugins/drone-docker
|
repo: plugins/drone-docker
|
||||||
|
tag: latest
|
||||||
when:
|
when:
|
||||||
branch: master
|
branch: master
|
||||||
|
docker:
|
||||||
|
username: $$DOCKER_USER
|
||||||
|
password: $$DOCKER_PASS
|
||||||
|
email: $$DOCKER_EMAIL
|
||||||
|
repo: plugins/drone-docker
|
||||||
|
tag: develop
|
||||||
|
when:
|
||||||
|
branch: develop
|
||||||
|
|
||||||
plugin:
|
plugin:
|
||||||
name: Docker
|
name: Docker
|
||||||
desc: Build and Publish images to a Docker registry.
|
desc: Build and publish images to a Docker registry
|
||||||
type: publish
|
type: publish
|
||||||
image: plugins/drone-docker
|
image: plugins/drone-docker
|
||||||
labels:
|
labels:
|
||||||
|
32
Makefile
Normal file
32
Makefile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
.PHONY: clean deps fmt vet test docker
|
||||||
|
|
||||||
|
EXECUTABLE ?= drone-docker
|
||||||
|
IMAGE ?= plugins/$(EXECUTABLE)
|
||||||
|
CI_BUILD_NUMBER ?= 0
|
||||||
|
|
||||||
|
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 ./...
|
||||||
|
|
||||||
|
deps:
|
||||||
|
go get -t ./...
|
||||||
|
|
||||||
|
fmt:
|
||||||
|
go fmt $(PACKAGES)
|
||||||
|
|
||||||
|
vet:
|
||||||
|
go vet $(PACKAGES)
|
||||||
|
|
||||||
|
test:
|
||||||
|
@for PKG in $(PACKAGES); do go test -cover -coverprofile $$GOPATH/src/$$PKG/coverage.out $$PKG || exit 1; done;
|
||||||
|
|
||||||
|
docker:
|
||||||
|
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)
|
38
README.md
38
README.md
@ -1,33 +1,49 @@
|
|||||||
# drone-docker
|
# drone-docker
|
||||||
|
|
||||||
[![Build Status](http://beta.drone.io/api/badges/drone-plugins/drone-docker/status.svg)](http://beta.drone.io/drone-plugins/drone-docker)
|
[![Build Status](http://beta.drone.io/api/badges/drone-plugins/drone-docker/status.svg)](http://beta.drone.io/drone-plugins/drone-docker)
|
||||||
|
[![Coverage Status](https://aircover.co/badges/drone-plugins/drone-docker/coverage.svg)](https://aircover.co/drone-plugins/drone-docker)
|
||||||
[![](https://badge.imagelayers.io/plugins/drone-docker:latest.svg)](https://imagelayers.io/?images=plugins/drone-docker:latest 'Get your own badge on imagelayers.io')
|
[![](https://badge.imagelayers.io/plugins/drone-docker:latest.svg)](https://imagelayers.io/?images=plugins/drone-docker:latest 'Get your own badge on imagelayers.io')
|
||||||
|
|
||||||
Drone plugin for publishing Docker images
|
Drone plugin to build and publish images to a Docker registry
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
Build the Docker container:
|
Build the container using `make`:
|
||||||
|
|
||||||
```sh
|
```
|
||||||
docker build --rm=true -t plugins/drone-docker .
|
make deps docker
|
||||||
```
|
```
|
||||||
|
|
||||||
Build and Publish a Docker container
|
### Example
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker run -i --privileged -v $(pwd):/drone/src plugins/drone-docker <<EOF
|
docker run -i --privileged -v $(pwd):/drone/src plugins/drone-docker <<EOF
|
||||||
{
|
{
|
||||||
"workspace": {
|
"repo": {
|
||||||
"path": "/drone/src"
|
"clone_url": "git://github.com/drone/drone",
|
||||||
|
"owner": "drone",
|
||||||
|
"name": "drone",
|
||||||
|
"full_name": "drone/drone"
|
||||||
|
},
|
||||||
|
"system": {
|
||||||
|
"link_url": "https://beta.drone.io"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"number": 1,
|
"number": 22,
|
||||||
"head_commit": {
|
"status": "success",
|
||||||
"sha": "9f2849d5",
|
"started_at": 1421029603,
|
||||||
|
"finished_at": 1421029813,
|
||||||
|
"message": "Update the Readme",
|
||||||
|
"author": "johnsmith",
|
||||||
|
"author_email": "john.smith@gmail.com"
|
||||||
|
"event": "push",
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
|
"commit": "436b7a6e2abaddfd35740527353e78a227ddcb2c",
|
||||||
"ref": "refs/heads/master"
|
"ref": "refs/heads/master"
|
||||||
}
|
},
|
||||||
|
"workspace": {
|
||||||
|
"root": "/drone/src",
|
||||||
|
"path": "/drone/src/github.com/drone/drone"
|
||||||
},
|
},
|
||||||
"vargs": {
|
"vargs": {
|
||||||
"username": "kevinbacon",
|
"username": "kevinbacon",
|
||||||
|
6
main.go
6
main.go
@ -40,7 +40,13 @@ type Docker struct {
|
|||||||
BuildArgs []string `json:"build_args"`
|
BuildArgs []string `json:"build_args"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
buildDate string
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
fmt.Printf("Drone Docker Plugin built at %s\n", buildDate)
|
||||||
|
|
||||||
workspace := plugin.Workspace{}
|
workspace := plugin.Workspace{}
|
||||||
build := plugin.Build{}
|
build := plugin.Build{}
|
||||||
vargs := Docker{}
|
vargs := Docker{}
|
||||||
|
Loading…
Reference in New Issue
Block a user