mirror of
https://github.com/josmo/drone-rancher.git
synced 2026-06-14 05:13:01 +08:00
115 lines
2.7 KiB
YAML
Executable File
115 lines
2.7 KiB
YAML
Executable File
kind: pipeline
|
|
name: default
|
|
|
|
workspace:
|
|
base: /go
|
|
path: src/github.com/josmo/drone-rancher
|
|
steps:
|
|
- name: deps
|
|
image: golang:1.10
|
|
pull: true
|
|
commands:
|
|
- go get -u github.com/golang/dep/cmd/dep
|
|
- dep ensure
|
|
|
|
- name: test
|
|
image: golang:1.10
|
|
depends_on:
|
|
- deps
|
|
commands:
|
|
- go vet
|
|
- go test -cover -coverprofile=coverage.out
|
|
|
|
- name: build_linux_amd64
|
|
image: golang:1.10
|
|
depends_on: [ test]
|
|
environment:
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
CGO_ENABLED: 0
|
|
commands:
|
|
- |
|
|
if test "${DRONE_TAG}" = ""; then
|
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/${DRONE_REPO_NAME}
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/amd64/${DRONE_REPO_NAME}
|
|
fi
|
|
|
|
- name: build_linux_arm64
|
|
image: golang:1.10
|
|
depends_on: [ test ]
|
|
environment:
|
|
GOOS: linux
|
|
GOARCH: arm64
|
|
CGO_ENABLED: 0
|
|
commands:
|
|
- |
|
|
if test "${DRONE_TAG}" = ""; then
|
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/${DRONE_REPO_NAME}
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm64/${DRONE_REPO_NAME}
|
|
fi
|
|
|
|
- name: build_linux_arm
|
|
image: golang:1.10
|
|
depends_on: [ test ]
|
|
environment:
|
|
GOOS: linux
|
|
GOARCH: arm
|
|
CGO_ENABLED: 0
|
|
GOARM: 7
|
|
commands:
|
|
- |
|
|
if test "${DRONE_TAG}" = ""; then
|
|
go build -v -ldflags "-X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/${DRONE_REPO_NAME}
|
|
else
|
|
go build -v -ldflags "-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}" -a -o release/linux/arm/${DRONE_REPO_NAME}
|
|
fi
|
|
|
|
- name: publish_linux_amd64
|
|
image: plugins/docker
|
|
depends_on: [ build_linux_amd64 ]
|
|
settings:
|
|
auto_tag: true
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
repo:
|
|
from_secret: plugin_repo
|
|
dockerfile: Dockerfile
|
|
when:
|
|
event: [ tag, push ]
|
|
|
|
- name: publish_linux_arm64
|
|
image: plugins/docker
|
|
depends_on: [ build_linux_arm64 ]
|
|
settings:
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm64
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
repo:
|
|
from_secret: plugin_repo
|
|
dockerfile: Dockerfile.arm64
|
|
when:
|
|
event: [ tag, push ]
|
|
|
|
- name: publish_linux_arm
|
|
image: plugins/docker
|
|
depends_on: [ build_linux_arm ]
|
|
settings:
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
repo:
|
|
from_secret: plugin_repo
|
|
dockerfile: Dockerfile.arm
|
|
when:
|
|
event: [ tag, push ]
|