mirror of
https://github.com/drone-plugins/drone-docker.git
synced 2026-06-16 14:50:37 +08:00
Compare commits
55 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ec5e71411 | |||
| 0911e6a922 | |||
| 88f8bf1cb0 | |||
| 2d70a1fa7c | |||
| 607b04a871 | |||
| e44c2d46ea | |||
| 72ef7b1f3f | |||
| fbbeec5a2e | |||
| b1d8698d1c | |||
| d4cf9f20f1 | |||
| f75380013d | |||
| c10d36754c | |||
| dd359dfc72 | |||
| 729aa5d300 | |||
| db5c2161fe | |||
| f08821b024 | |||
| 0f6bd8a62e | |||
| 5760e7b4e8 | |||
| 7ade37a140 | |||
| 319660d758 | |||
| bd4029884c | |||
| b1959299c7 | |||
| bfdf3034c1 | |||
| 9c86f98ea5 | |||
| faec3cf9d8 | |||
| ad1fa9495f | |||
| 799cc8e35e | |||
| 5834d8dff9 | |||
| 4abe7c9d20 | |||
| 3501d9a65d | |||
| d8b6b48fa3 | |||
| e4056d8499 | |||
| a5076e74dc | |||
| d913d6e7dc | |||
| 1482cb1143 | |||
| eb6d634460 | |||
| 77396e3f59 | |||
| 675553c96d | |||
| d929356ba1 | |||
| 9701f08184 | |||
| 6cc2e43e64 | |||
| b5598ee56d | |||
| 8219e78eca | |||
| 23b5e6bcd9 | |||
| 56e470dcda | |||
| 8d54531f2f | |||
| 05c329ab6e | |||
| 0099cd6056 | |||
| 00ee2c290c | |||
| 65bb87f497 | |||
| bae9d8ddbf | |||
| af9fdad1d9 | |||
| 196c393da4 | |||
| c69ad3dfaf | |||
| c6dab33e03 |
+93
-404
@@ -8,8 +8,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: vet
|
- name: vet
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- go vet ./...
|
- go vet ./...
|
||||||
environment:
|
environment:
|
||||||
@@ -19,8 +18,7 @@ steps:
|
|||||||
path: /go
|
path: /go
|
||||||
|
|
||||||
- name: test
|
- name: test
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- go test -cover ./...
|
- go test -cover ./...
|
||||||
environment:
|
environment:
|
||||||
@@ -77,43 +75,81 @@ trigger:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- testing
|
- testing
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# kind: pipeline
|
||||||
|
# type: ssh
|
||||||
|
# name: windows-1903-amd64-docker
|
||||||
|
|
||||||
|
# platform:
|
||||||
|
# os: windows
|
||||||
|
|
||||||
|
# server:
|
||||||
|
# host: windows.1903.amd64.plugins.drone.ci
|
||||||
|
# password:
|
||||||
|
# from_secret: windows_password
|
||||||
|
# user:
|
||||||
|
# from_secret: windows_username
|
||||||
|
|
||||||
|
# steps:
|
||||||
|
# - name: build
|
||||||
|
# commands:
|
||||||
|
# # TODO use the new DRONE_SEMVER_SHORT environment variables to
|
||||||
|
# # publish docker images for tag events.
|
||||||
|
# - go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker
|
||||||
|
# - docker login -u $env:USERNAME -p $env:PASSWORD
|
||||||
|
# - docker build -f docker/docker/Dockerfile.windows.1903 -t plugins/docker:windows-1903-amd64 .
|
||||||
|
# - docker push plugins/docker:windows-1903-amd64
|
||||||
|
# environment:
|
||||||
|
# CGO_ENABLED: "0"
|
||||||
|
# USERNAME:
|
||||||
|
# from_secret: docker_username
|
||||||
|
# PASSWORD:
|
||||||
|
# from_secret: docker_password
|
||||||
|
|
||||||
|
# trigger:
|
||||||
|
# event:
|
||||||
|
# - push
|
||||||
|
|
||||||
|
# depends_on:
|
||||||
|
# - testing
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: ssh
|
type: ssh
|
||||||
name: windows-1903-amd64-docker
|
name: windows-1909-amd64-docker
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: windows
|
os: windows
|
||||||
|
|
||||||
server:
|
server:
|
||||||
host: windows.1903.amd64.plugins.drone.ci
|
host: windows.1909.amd64.plugins.drone.ci
|
||||||
password:
|
password:
|
||||||
from_secret: windows_password
|
from_secret: windows_password
|
||||||
user:
|
user:
|
||||||
from_secret: windows_username
|
from_secret: windows_username
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
commands:
|
commands:
|
||||||
# TODO use the new DRONE_SEMVER_SHORT environment variables to
|
# TODO use the new DRONE_SEMVER_SHORT environment variables to
|
||||||
# publish docker images for tag events.
|
# publish docker images for tag events.
|
||||||
- go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker
|
- go build -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker
|
||||||
- docker login -u $env:USERNAME -p $env:PASSWORD
|
- docker login -u $env:USERNAME -p $env:PASSWORD
|
||||||
- docker build -f docker/docker/Dockerfile.windows.1903 -t plugins/docker:windows-1903-amd64 .
|
- docker build -f docker/docker/Dockerfile.windows.1909 -t plugins/docker:windows-1909-amd64 .
|
||||||
- docker push plugins/docker:windows-1903-amd64
|
- docker push plugins/docker:windows-1909-amd64
|
||||||
environment:
|
environment:
|
||||||
CGO_ENABLED: "0"
|
CGO_ENABLED: "0"
|
||||||
USERNAME:
|
USERNAME:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
PASSWORD:
|
PASSWORD:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- testing
|
- testing
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@@ -125,8 +161,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -138,8 +173,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -150,30 +184,11 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: executable
|
- name: executable
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/amd64/drone-docker --help
|
- ./release/linux/amd64/drone-docker --help
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/docker/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/docker
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -209,8 +224,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -222,8 +236,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -234,30 +247,11 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: executable
|
- name: executable
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/arm64/drone-docker --help
|
- ./release/linux/arm64/drone-docker --help
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/docker/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/docker
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -293,8 +287,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -306,8 +299,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-docker ./cmd/drone-docker"
|
||||||
environment:
|
environment:
|
||||||
@@ -318,30 +310,11 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: executable
|
- name: executable
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- ./release/linux/arm/drone-docker --help
|
- ./release/linux/arm/drone-docker --help
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/docker/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/docker
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -377,7 +350,6 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -388,14 +360,6 @@ steps:
|
|||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
failure: ignore
|
|
||||||
settings:
|
|
||||||
urls:
|
|
||||||
from_secret: microbadger_docker
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
@@ -403,10 +367,11 @@ trigger:
|
|||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- windows-1809-amd64-docker
|
- windows-1809-amd64-docker
|
||||||
- windows-1903-amd64-docker
|
- windows-1909-amd64-docker
|
||||||
- linux-amd64-docker
|
- linux-amd64-docker
|
||||||
- linux-arm64-docker
|
- linux-arm64-docker
|
||||||
- linux-arm-docker
|
- linux-arm-docker
|
||||||
|
# - windows-1903-amd64-dfocker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@@ -418,8 +383,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -431,8 +395,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -442,25 +405,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/gcr/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/gcr
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -496,8 +441,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -509,8 +453,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -520,25 +463,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/gcr/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/gcr
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -574,8 +499,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -587,8 +511,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-gcr ./cmd/drone-gcr"
|
||||||
environment:
|
environment:
|
||||||
@@ -598,25 +521,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/gcr/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/gcr
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -652,7 +557,6 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -663,14 +567,6 @@ steps:
|
|||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
failure: ignore
|
|
||||||
settings:
|
|
||||||
urls:
|
|
||||||
from_secret: microbadger_gcr
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
@@ -691,8 +587,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -704,8 +599,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -715,25 +609,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/ecr/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/ecr
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -769,8 +645,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -782,8 +657,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -793,25 +667,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/ecr/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/ecr
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -847,8 +703,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -860,8 +715,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-ecr ./cmd/drone-ecr"
|
||||||
environment:
|
environment:
|
||||||
@@ -871,25 +725,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/ecr/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/ecr
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -925,7 +761,6 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -936,14 +771,6 @@ steps:
|
|||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
failure: ignore
|
|
||||||
settings:
|
|
||||||
urls:
|
|
||||||
from_secret: microbadger_ecr
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
@@ -964,8 +791,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -977,8 +803,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -988,25 +813,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/heroku/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/heroku
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1042,8 +849,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -1055,8 +861,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm64/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -1066,25 +871,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/heroku/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/heroku
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1120,8 +907,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -1133,8 +919,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/linux/arm/drone-heroku ./cmd/drone-heroku"
|
||||||
environment:
|
environment:
|
||||||
@@ -1144,25 +929,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/heroku/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/heroku
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1198,7 +965,6 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1209,14 +975,6 @@ steps:
|
|||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
failure: ignore
|
|
||||||
settings:
|
|
||||||
urls:
|
|
||||||
from_secret: microbadger_heroku
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
@@ -1237,8 +995,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1250,8 +1007,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1261,25 +1017,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/acr/Dockerfile.linux.amd64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/acr
|
|
||||||
tags: linux-amd64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1315,8 +1053,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1328,8 +1065,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1339,25 +1075,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/acr/Dockerfile.linux.arm64
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/acr
|
|
||||||
tags: linux-arm64
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1393,8 +1111,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-push
|
- name: build-push
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1406,8 +1123,7 @@ steps:
|
|||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-tag
|
- name: build-tag
|
||||||
pull: always
|
image: golang:1.13
|
||||||
image: golang:1.11
|
|
||||||
commands:
|
commands:
|
||||||
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr"
|
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr"
|
||||||
environment:
|
environment:
|
||||||
@@ -1417,25 +1133,7 @@ steps:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: dryrun
|
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
|
||||||
settings:
|
|
||||||
daemon_off: false
|
|
||||||
dockerfile: docker/acr/Dockerfile.linux.arm
|
|
||||||
dry_run: true
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: plugins/acr
|
|
||||||
tags: linux-arm
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
pull: always
|
|
||||||
image: plugins/docker:18
|
image: plugins/docker:18
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@@ -1471,7 +1169,6 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: manifest
|
- name: manifest
|
||||||
pull: always
|
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
@@ -1481,14 +1178,6 @@ steps:
|
|||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
|
||||||
- name: microbadger
|
|
||||||
pull: always
|
|
||||||
image: plugins/webhook
|
|
||||||
failure: ignore
|
|
||||||
settings:
|
|
||||||
url:
|
|
||||||
from_secret: microbadger_acr
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
ref:
|
ref:
|
||||||
- refs/heads/master
|
- refs/heads/master
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
since-tag=v19.03.8
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [v19.03.9](https://github.com/drone-plugins/drone-docker/tree/v19.03.9) (2021-10-13)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/drone-plugins/drone-docker/compare/v19.03.8...v19.03.9)
|
||||||
|
|
||||||
|
**Implemented enhancements:**
|
||||||
|
|
||||||
|
- adding support for externalId [\#333](https://github.com/drone-plugins/drone-docker/pull/333) ([jimsheldon](https://github.com/jimsheldon))
|
||||||
|
- Add support for automatic opencontainer labels [\#313](https://github.com/drone-plugins/drone-docker/pull/313) ([codrut-fc](https://github.com/codrut-fc))
|
||||||
|
- add custom seccomp profile [\#312](https://github.com/drone-plugins/drone-docker/pull/312) ([xoxys](https://github.com/xoxys))
|
||||||
|
- ECR: adding setting to enable image scanning while repo creation [\#300](https://github.com/drone-plugins/drone-docker/pull/300) ([rvoitenko](https://github.com/rvoitenko))
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- Revert "Update seccomp to 20.10 docker" [\#325](https://github.com/drone-plugins/drone-docker/pull/325) ([bradrydzewski](https://github.com/bradrydzewski))
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- \(maint\) CI, remove the dry run steps, due to rate limiting [\#323](https://github.com/drone-plugins/drone-docker/pull/323) ([tphoney](https://github.com/tphoney))
|
||||||
|
- Update seccomp to 20.10 docker [\#322](https://github.com/drone-plugins/drone-docker/pull/322) ([techknowlogick](https://github.com/techknowlogick))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
[](http://godoc.org/github.com/drone-plugins/drone-docker)
|
[](http://godoc.org/github.com/drone-plugins/drone-docker)
|
||||||
[](https://goreportcard.com/report/github.com/drone-plugins/drone-docker)
|
[](https://goreportcard.com/report/github.com/drone-plugins/drone-docker)
|
||||||
|
|
||||||
Drone plugin to build and publish Docker images to a container registry. For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-docker/).
|
Drone plugin uses Docker-in-Docker to build and publish Docker images to a container registry. For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-docker/).
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,16 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/joho/godotenv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
// Load env-file if it exists first
|
||||||
|
if env := os.Getenv("PLUGIN_ENV_FILE"); env != "" {
|
||||||
|
godotenv.Load(env)
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
repo = getenv("PLUGIN_REPO")
|
repo = getenv("PLUGIN_REPO")
|
||||||
registry = getenv("PLUGIN_REGISTRY")
|
registry = getenv("PLUGIN_REGISTRY")
|
||||||
|
|||||||
+43
-20
@@ -50,7 +50,7 @@ func main() {
|
|||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "daemon.mirror",
|
Name: "daemon.mirror",
|
||||||
Usage: "docker daemon registry mirror",
|
Usage: "docker daemon registry mirror",
|
||||||
EnvVar: "PLUGIN_MIRROR",
|
EnvVar: "PLUGIN_MIRROR,DOCKER_PLUGIN_MIRROR",
|
||||||
},
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "daemon.storage-driver",
|
Name: "daemon.storage-driver",
|
||||||
@@ -147,6 +147,11 @@ func main() {
|
|||||||
Usage: "build args",
|
Usage: "build args",
|
||||||
EnvVar: "PLUGIN_BUILD_ARGS_FROM_ENV",
|
EnvVar: "PLUGIN_BUILD_ARGS_FROM_ENV",
|
||||||
},
|
},
|
||||||
|
cli.BoolFlag{
|
||||||
|
Name: "quiet",
|
||||||
|
Usage: "quiet docker build",
|
||||||
|
EnvVar: "PLUGIN_QUIET",
|
||||||
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "target",
|
Name: "target",
|
||||||
Usage: "build target",
|
Usage: "build target",
|
||||||
@@ -187,6 +192,16 @@ func main() {
|
|||||||
Usage: "label-schema labels",
|
Usage: "label-schema labels",
|
||||||
EnvVar: "PLUGIN_LABEL_SCHEMA",
|
EnvVar: "PLUGIN_LABEL_SCHEMA",
|
||||||
},
|
},
|
||||||
|
cli.BoolTFlag{
|
||||||
|
Name: "auto-label",
|
||||||
|
Usage: "auto-label true|false",
|
||||||
|
EnvVar: "PLUGIN_AUTO_LABEL",
|
||||||
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "link",
|
||||||
|
Usage: "link https://example.com/org/repo-name",
|
||||||
|
EnvVar: "PLUGIN_REPO_LINK,DRONE_REPO_LINK",
|
||||||
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "docker.registry",
|
Name: "docker.registry",
|
||||||
Usage: "docker registry",
|
Usage: "docker registry",
|
||||||
@@ -211,7 +226,7 @@ func main() {
|
|||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "docker.config",
|
Name: "docker.config",
|
||||||
Usage: "docker json dockerconfig content",
|
Usage: "docker json dockerconfig content",
|
||||||
EnvVar: "PLUGIN_CONFIG",
|
EnvVar: "PLUGIN_CONFIG,DOCKER_PLUGIN_CONFIG",
|
||||||
},
|
},
|
||||||
cli.BoolTFlag{
|
cli.BoolTFlag{
|
||||||
Name: "docker.purge",
|
Name: "docker.purge",
|
||||||
@@ -252,23 +267,26 @@ func run(c *cli.Context) error {
|
|||||||
Config: c.String("docker.config"),
|
Config: c.String("docker.config"),
|
||||||
},
|
},
|
||||||
Build: docker.Build{
|
Build: docker.Build{
|
||||||
Remote: c.String("remote.url"),
|
Remote: c.String("remote.url"),
|
||||||
Name: c.String("commit.sha"),
|
Name: c.String("commit.sha"),
|
||||||
Dockerfile: c.String("dockerfile"),
|
Dockerfile: c.String("dockerfile"),
|
||||||
Context: c.String("context"),
|
Context: c.String("context"),
|
||||||
Tags: c.StringSlice("tags"),
|
Tags: c.StringSlice("tags"),
|
||||||
Args: c.StringSlice("args"),
|
Args: c.StringSlice("args"),
|
||||||
ArgsEnv: c.StringSlice("args-from-env"),
|
ArgsEnv: c.StringSlice("args-from-env"),
|
||||||
Target: c.String("target"),
|
Target: c.String("target"),
|
||||||
Squash: c.Bool("squash"),
|
Squash: c.Bool("squash"),
|
||||||
Pull: c.BoolT("pull-image"),
|
Pull: c.BoolT("pull-image"),
|
||||||
CacheFrom: c.StringSlice("cache-from"),
|
CacheFrom: c.StringSlice("cache-from"),
|
||||||
Compress: c.Bool("compress"),
|
Compress: c.Bool("compress"),
|
||||||
Repo: c.String("repo"),
|
Repo: c.String("repo"),
|
||||||
Labels: c.StringSlice("custom-labels"),
|
Labels: c.StringSlice("custom-labels"),
|
||||||
LabelSchema: c.StringSlice("label-schema"),
|
LabelSchema: c.StringSlice("label-schema"),
|
||||||
NoCache: c.Bool("no-cache"),
|
AutoLabel: c.BoolT("auto-label"),
|
||||||
AddHost: c.StringSlice("add-host"),
|
Link: c.String("link"),
|
||||||
|
NoCache: c.Bool("no-cache"),
|
||||||
|
AddHost: c.StringSlice("add-host"),
|
||||||
|
Quiet: c.Bool("quiet"),
|
||||||
},
|
},
|
||||||
Daemon: docker.Daemon{
|
Daemon: docker.Daemon{
|
||||||
Registry: c.String("docker.registry"),
|
Registry: c.String("docker.registry"),
|
||||||
@@ -292,10 +310,15 @@ func run(c *cli.Context) error {
|
|||||||
c.String("commit.ref"),
|
c.String("commit.ref"),
|
||||||
c.String("repo.branch"),
|
c.String("repo.branch"),
|
||||||
) {
|
) {
|
||||||
plugin.Build.Tags = docker.DefaultTagSuffix(
|
tag, err := docker.DefaultTagSuffix(
|
||||||
c.String("commit.ref"),
|
c.String("commit.ref"),
|
||||||
c.String("tags.suffix"),
|
c.String("tags.suffix"),
|
||||||
)
|
)
|
||||||
|
if err != nil {
|
||||||
|
logrus.Printf("cannot build docker image for %s, invalid semantic version", c.String("commit.ref"))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
plugin.Build.Tags = tag
|
||||||
} else {
|
} else {
|
||||||
logrus.Printf("skipping automated docker build for %s", c.String("commit.ref"))
|
logrus.Printf("skipping automated docker build for %s", c.String("commit.ref"))
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
+38
-7
@@ -10,6 +10,8 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/joho/godotenv"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||||
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
|
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
|
||||||
@@ -20,6 +22,11 @@ import (
|
|||||||
const defaultRegion = "us-east-1"
|
const defaultRegion = "us-east-1"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
// Load env-file if it exists first
|
||||||
|
if env := os.Getenv("PLUGIN_ENV_FILE"); env != "" {
|
||||||
|
godotenv.Load(env)
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
repo = getenv("PLUGIN_REPO")
|
repo = getenv("PLUGIN_REPO")
|
||||||
registry = getenv("PLUGIN_REGISTRY")
|
registry = getenv("PLUGIN_REGISTRY")
|
||||||
@@ -30,6 +37,8 @@ func main() {
|
|||||||
lifecyclePolicy = getenv("PLUGIN_LIFECYCLE_POLICY")
|
lifecyclePolicy = getenv("PLUGIN_LIFECYCLE_POLICY")
|
||||||
repositoryPolicy = getenv("PLUGIN_REPOSITORY_POLICY")
|
repositoryPolicy = getenv("PLUGIN_REPOSITORY_POLICY")
|
||||||
assumeRole = getenv("PLUGIN_ASSUME_ROLE")
|
assumeRole = getenv("PLUGIN_ASSUME_ROLE")
|
||||||
|
externalId = getenv("PLUGIN_EXTERNAL_ID")
|
||||||
|
scanOnPush = parseBoolOrDefault(false, getenv("PLUGIN_SCAN_ON_PUSH"))
|
||||||
)
|
)
|
||||||
|
|
||||||
// set the region
|
// set the region
|
||||||
@@ -49,7 +58,7 @@ func main() {
|
|||||||
log.Fatal(fmt.Sprintf("error creating aws session: %v", err))
|
log.Fatal(fmt.Sprintf("error creating aws session: %v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
svc := getECRClient(sess, assumeRole)
|
svc := getECRClient(sess, assumeRole, externalId)
|
||||||
username, password, defaultRegistry, err := getAuthInfo(svc)
|
username, password, defaultRegistry, err := getAuthInfo(svc)
|
||||||
|
|
||||||
if registry == "" {
|
if registry == "" {
|
||||||
@@ -65,10 +74,14 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if create {
|
if create {
|
||||||
err = ensureRepoExists(svc, trimHostname(repo, registry))
|
err = ensureRepoExists(svc, trimHostname(repo, registry), scanOnPush)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(fmt.Sprintf("error creating ECR repo: %v", err))
|
log.Fatal(fmt.Sprintf("error creating ECR repo: %v", err))
|
||||||
}
|
}
|
||||||
|
err = updateImageScannningConfig(svc, trimHostname(repo, registry), scanOnPush)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(fmt.Sprintf("error updating scan on push for ECR repo: %v", err))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if lifecyclePolicy != "" {
|
if lifecyclePolicy != "" {
|
||||||
@@ -111,9 +124,10 @@ func trimHostname(repo, registry string) string {
|
|||||||
return repo
|
return repo
|
||||||
}
|
}
|
||||||
|
|
||||||
func ensureRepoExists(svc *ecr.ECR, name string) (err error) {
|
func ensureRepoExists(svc *ecr.ECR, name string, scanOnPush bool) (err error) {
|
||||||
input := &ecr.CreateRepositoryInput{}
|
input := &ecr.CreateRepositoryInput{}
|
||||||
input.SetRepositoryName(name)
|
input.SetRepositoryName(name)
|
||||||
|
input.SetImageScanningConfiguration(&ecr.ImageScanningConfiguration{ScanOnPush: &scanOnPush})
|
||||||
_, err = svc.CreateRepository(input)
|
_, err = svc.CreateRepository(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if aerr, ok := err.(awserr.Error); ok && aerr.Code() == ecr.ErrCodeRepositoryAlreadyExistsException {
|
if aerr, ok := err.(awserr.Error); ok && aerr.Code() == ecr.ErrCodeRepositoryAlreadyExistsException {
|
||||||
@@ -125,6 +139,15 @@ func ensureRepoExists(svc *ecr.ECR, name string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func updateImageScannningConfig(svc *ecr.ECR, name string, scanOnPush bool) (err error) {
|
||||||
|
input := &ecr.PutImageScanningConfigurationInput{}
|
||||||
|
input.SetRepositoryName(name)
|
||||||
|
input.SetImageScanningConfiguration(&ecr.ImageScanningConfiguration{ScanOnPush: &scanOnPush})
|
||||||
|
_, err = svc.PutImageScanningConfiguration(input)
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func uploadLifeCyclePolicy(svc *ecr.ECR, lifecyclePolicy string, name string) (err error) {
|
func uploadLifeCyclePolicy(svc *ecr.ECR, lifecyclePolicy string, name string) (err error) {
|
||||||
input := &ecr.PutLifecyclePolicyInput{}
|
input := &ecr.PutLifecyclePolicyInput{}
|
||||||
input.SetLifecyclePolicyText(lifecyclePolicy)
|
input.SetLifecyclePolicyText(lifecyclePolicy)
|
||||||
@@ -186,11 +209,19 @@ func getenv(key ...string) (s string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getECRClient(sess *session.Session, role string) *ecr.ECR {
|
func getECRClient(sess *session.Session, role string, externalId string) *ecr.ECR {
|
||||||
if role == "" {
|
if role == "" {
|
||||||
return ecr.New(sess)
|
return ecr.New(sess)
|
||||||
}
|
}
|
||||||
return ecr.New(sess, &aws.Config{
|
if externalId != "" {
|
||||||
Credentials: stscreds.NewCredentials(sess, role),
|
return ecr.New(sess, &aws.Config{
|
||||||
})
|
Credentials: stscreds.NewCredentials(sess, role, func(p *stscreds.AssumeRoleProvider) {
|
||||||
|
p.ExternalID = &externalId
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return ecr.New(sess, &aws.Config{
|
||||||
|
Credentials: stscreds.NewCredentials(sess, role),
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,19 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/joho/godotenv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// gcr default username
|
// gcr default username
|
||||||
const username = "_json_key"
|
const username = "_json_key"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
// Load env-file if it exists first
|
||||||
|
if env := os.Getenv("PLUGIN_ENV_FILE"); env != "" {
|
||||||
|
godotenv.Load(env)
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
repo = getenv("PLUGIN_REPO")
|
repo = getenv("PLUGIN_REPO")
|
||||||
registry = getenv("PLUGIN_REGISTRY")
|
registry = getenv("PLUGIN_REGISTRY")
|
||||||
|
|||||||
@@ -4,9 +4,16 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path"
|
"path"
|
||||||
|
|
||||||
|
"github.com/joho/godotenv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
// Load env-file if it exists first
|
||||||
|
if env := os.Getenv("PLUGIN_ENV_FILE"); env != "" {
|
||||||
|
godotenv.Load(env)
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
registry = "registry.heroku.com"
|
registry = "registry.heroku.com"
|
||||||
process = getenv("PLUGIN_PROCESS_TYPE")
|
process = getenv("PLUGIN_PROCESS_TYPE")
|
||||||
|
|||||||
@@ -53,9 +53,12 @@ type (
|
|||||||
Compress bool // Docker build compress
|
Compress bool // Docker build compress
|
||||||
Repo string // Docker build repository
|
Repo string // Docker build repository
|
||||||
LabelSchema []string // label-schema Label map
|
LabelSchema []string // label-schema Label map
|
||||||
|
AutoLabel bool // auto-label bool
|
||||||
Labels []string // Label map
|
Labels []string // Label map
|
||||||
|
Link string // Git repo link
|
||||||
NoCache bool // Docker build no-cache
|
NoCache bool // Docker build no-cache
|
||||||
AddHost []string // Docker build add-host
|
AddHost []string // Docker build add-host
|
||||||
|
Quiet bool // Docker build quiet
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plugin defines the Docker plugin parameters.
|
// Plugin defines the Docker plugin parameters.
|
||||||
@@ -77,36 +80,24 @@ func (p Plugin) Exec() error {
|
|||||||
|
|
||||||
// poll the docker daemon until it is started. This ensures the daemon is
|
// poll the docker daemon until it is started. This ensures the daemon is
|
||||||
// ready to accept connections before we proceed.
|
// ready to accept connections before we proceed.
|
||||||
for i := 0; i < 15; i++ {
|
for i := 0; ; i++ {
|
||||||
cmd := commandInfo()
|
cmd := commandInfo()
|
||||||
err := cmd.Run()
|
err := cmd.Run()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
if i == 15 {
|
||||||
|
fmt.Println("Unable to reach Docker Daemon after 15 attempts.")
|
||||||
|
break
|
||||||
|
}
|
||||||
time.Sleep(time.Second * 1)
|
time.Sleep(time.Second * 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create Auth Config File
|
// for debugging purposes, log the type of authentication
|
||||||
if p.Login.Config != "" {
|
// credentials that have been provided.
|
||||||
os.MkdirAll(dockerHome, 0600)
|
|
||||||
|
|
||||||
path := filepath.Join(dockerHome, "config.json")
|
|
||||||
err := ioutil.WriteFile(path, []byte(p.Login.Config), 0600)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error writeing config.json: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// login to the Docker registry
|
|
||||||
if p.Login.Password != "" {
|
|
||||||
cmd := commandLogin(p.Login)
|
|
||||||
err := cmd.Run()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("Error authenticating: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
|
case p.Login.Password != "" && p.Login.Config != "":
|
||||||
|
fmt.Println("Detected registry credentials and registry credentials file")
|
||||||
case p.Login.Password != "":
|
case p.Login.Password != "":
|
||||||
fmt.Println("Detected registry credentials")
|
fmt.Println("Detected registry credentials")
|
||||||
case p.Login.Config != "":
|
case p.Login.Config != "":
|
||||||
@@ -115,6 +106,29 @@ func (p Plugin) Exec() error {
|
|||||||
fmt.Println("Registry credentials or Docker config not provided. Guest mode enabled.")
|
fmt.Println("Registry credentials or Docker config not provided. Guest mode enabled.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create Auth Config File
|
||||||
|
if p.Login.Config != "" {
|
||||||
|
os.MkdirAll(dockerHome, 0600)
|
||||||
|
|
||||||
|
path := filepath.Join(dockerHome, "config.json")
|
||||||
|
err := ioutil.WriteFile(path, []byte(p.Login.Config), 0600)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Error writing config.json: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// login to the Docker registry
|
||||||
|
if p.Login.Password != "" {
|
||||||
|
cmd := commandLogin(p.Login)
|
||||||
|
raw, err := cmd.CombinedOutput()
|
||||||
|
if err != nil {
|
||||||
|
out := string(raw)
|
||||||
|
out = strings.Replace(out, "WARNING! Using --password via the CLI is insecure. Use --password-stdin.", "", -1)
|
||||||
|
fmt.Println(out)
|
||||||
|
return fmt.Errorf("Error authenticating: exit status 1")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if p.Build.Squash && !p.Daemon.Experimental {
|
if p.Build.Squash && !p.Daemon.Experimental {
|
||||||
fmt.Println("Squash build flag is only available when Docker deamon is started with experimental flag. Ignoring...")
|
fmt.Println("Squash build flag is only available when Docker deamon is started with experimental flag. Ignoring...")
|
||||||
p.Build.Squash = false
|
p.Build.Squash = false
|
||||||
@@ -156,6 +170,10 @@ func (p Plugin) Exec() error {
|
|||||||
err := cmd.Run()
|
err := cmd.Run()
|
||||||
if err != nil && isCommandPull(cmd.Args) {
|
if err != nil && isCommandPull(cmd.Args) {
|
||||||
fmt.Printf("Could not pull cache-from image %s. Ignoring...\n", cmd.Args[2])
|
fmt.Printf("Could not pull cache-from image %s. Ignoring...\n", cmd.Args[2])
|
||||||
|
} else if err != nil && isCommandPrune(cmd.Args) {
|
||||||
|
fmt.Printf("Could not prune system containers. Ignoring...\n")
|
||||||
|
} else if err != nil && isCommandRmi(cmd.Args) {
|
||||||
|
fmt.Printf("Could not remove image %s. Ignoring...\n", cmd.Args[2])
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -243,20 +261,26 @@ func commandBuild(build Build) *exec.Cmd {
|
|||||||
if build.Target != "" {
|
if build.Target != "" {
|
||||||
args = append(args, "--target", build.Target)
|
args = append(args, "--target", build.Target)
|
||||||
}
|
}
|
||||||
|
if build.Quiet {
|
||||||
labelSchema := []string{
|
args = append(args, "--quiet")
|
||||||
"schema-version=1.0",
|
|
||||||
fmt.Sprintf("build-date=%s", time.Now().Format(time.RFC3339)),
|
|
||||||
fmt.Sprintf("vcs-ref=%s", build.Name),
|
|
||||||
fmt.Sprintf("vcs-url=%s", build.Remote),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(build.LabelSchema) > 0 {
|
if build.AutoLabel {
|
||||||
labelSchema = append(labelSchema, build.LabelSchema...)
|
labelSchema := []string{
|
||||||
}
|
fmt.Sprintf("created=%s", time.Now().Format(time.RFC3339)),
|
||||||
|
fmt.Sprintf("revision=%s", build.Name),
|
||||||
|
fmt.Sprintf("source=%s", build.Remote),
|
||||||
|
fmt.Sprintf("url=%s", build.Link),
|
||||||
|
}
|
||||||
|
labelPrefix := "org.opencontainers.image"
|
||||||
|
|
||||||
for _, label := range labelSchema {
|
if len(build.LabelSchema) > 0 {
|
||||||
args = append(args, "--label", fmt.Sprintf("org.label-schema.%s", label))
|
labelSchema = append(labelSchema, build.LabelSchema...)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, label := range labelSchema {
|
||||||
|
args = append(args, "--label", fmt.Sprintf("%s.%s", labelPrefix, label))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(build.Labels) > 0 {
|
if len(build.Labels) > 0 {
|
||||||
@@ -330,7 +354,14 @@ func commandPush(build Build, tag string) *exec.Cmd {
|
|||||||
|
|
||||||
// helper function to create the docker daemon command.
|
// helper function to create the docker daemon command.
|
||||||
func commandDaemon(daemon Daemon) *exec.Cmd {
|
func commandDaemon(daemon Daemon) *exec.Cmd {
|
||||||
args := []string{"--data-root", daemon.StoragePath}
|
args := []string{
|
||||||
|
"--data-root", daemon.StoragePath,
|
||||||
|
"--host=unix:///var/run/docker.sock",
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := os.Stat("/etc/docker/default.json"); err == nil {
|
||||||
|
args = append(args, "--seccomp-profile=/etc/docker/default.json")
|
||||||
|
}
|
||||||
|
|
||||||
if daemon.StorageDriver != "" {
|
if daemon.StorageDriver != "" {
|
||||||
args = append(args, "-s", daemon.StorageDriver)
|
args = append(args, "-s", daemon.StorageDriver)
|
||||||
@@ -362,10 +393,20 @@ func commandDaemon(daemon Daemon) *exec.Cmd {
|
|||||||
return exec.Command(dockerdExe, args...)
|
return exec.Command(dockerdExe, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// helper to check if args match "docker prune"
|
||||||
|
func isCommandPrune(args []string) bool {
|
||||||
|
return len(args) > 3 && args[2] == "prune"
|
||||||
|
}
|
||||||
|
|
||||||
func commandPrune() *exec.Cmd {
|
func commandPrune() *exec.Cmd {
|
||||||
return exec.Command(dockerExe, "system", "prune", "-f")
|
return exec.Command(dockerExe, "system", "prune", "-f")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// helper to check if args match "docker rmi"
|
||||||
|
func isCommandRmi(args []string) bool {
|
||||||
|
return len(args) > 2 && args[1] == "rmi"
|
||||||
|
}
|
||||||
|
|
||||||
func commandRmi(tag string) *exec.Cmd {
|
func commandRmi(tag string) *exec.Cmd {
|
||||||
return exec.Command(dockerExe, "rmi", tag)
|
return exec.Command(dockerExe, "rmi", tag)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
FROM docker:18.09.0-dind
|
FROM docker:19.03.8-dind
|
||||||
|
|
||||||
|
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
|
|
||||||
ADD release/linux/amd64/drone-docker /bin/
|
ADD release/linux/amd64/drone-docker /bin/
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
||||||
|
|||||||
@@ -1,4 +1,15 @@
|
|||||||
FROM arm32v6/docker:18.09.0-dind
|
FROM arm32v6/docker:19.03.8-dind
|
||||||
|
|
||||||
|
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
|
|
||||||
|
RUN apk --update add --virtual .build-deps curl && \
|
||||||
|
mkdir -p /etc/docker/ && \
|
||||||
|
curl -SsL -o /etc/docker/default.json https://raw.githubusercontent.com/moby/moby/19.03/profiles/seccomp/default.json && \
|
||||||
|
sed -i 's/SCMP_ACT_ERRNO/SCMP_ACT_TRACE/g' /etc/docker/default.json && \
|
||||||
|
chmod 600 /etc/docker/default.json && \
|
||||||
|
apk del .build-deps && \
|
||||||
|
rm -rf /var/cache/apk/* && \
|
||||||
|
rm -rf /tmp/*
|
||||||
|
|
||||||
ADD release/linux/arm/drone-docker /bin/
|
ADD release/linux/arm/drone-docker /bin/
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
FROM arm64v8/docker:18.09.0-dind
|
FROM arm64v8/docker:19.03.8-dind
|
||||||
|
|
||||||
|
ENV DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
|
|
||||||
ADD release/linux/arm64/drone-docker /bin/
|
ADD release/linux/arm64/drone-docker /bin/
|
||||||
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# escape=`
|
||||||
|
FROM mcr.microsoft.com/windows/servercore:1909 as download
|
||||||
|
|
||||||
|
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||||
|
|
||||||
|
ENV DOCKER_VERSION 19.03.1
|
||||||
|
|
||||||
|
RUN Invoke-WebRequest 'http://constexpr.org/innoextract/files/innoextract-1.7-windows.zip' -OutFile 'innoextract.zip' -UseBasicParsing ; `
|
||||||
|
Expand-Archive innoextract.zip -DestinationPath C:\ ; `
|
||||||
|
Remove-Item -Path innoextract.zip
|
||||||
|
|
||||||
|
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 ; `
|
||||||
|
Invoke-WebRequest $('https://github.com/docker/toolbox/releases/download/v{0}/DockerToolbox-{0}.exe' -f $env:DOCKER_VERSION) -OutFile 'dockertoolbox.exe' -UseBasicParsing
|
||||||
|
RUN /innoextract.exe dockertoolbox.exe
|
||||||
|
|
||||||
|
FROM mcr.microsoft.com/windows/nanoserver:1909
|
||||||
|
USER ContainerAdministrator
|
||||||
|
|
||||||
|
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
|
||||||
|
org.label-schema.name="Drone Docker" `
|
||||||
|
org.label-schema.vendor="Drone.IO Community" `
|
||||||
|
org.label-schema.schema-version="1.0"
|
||||||
|
|
||||||
|
RUN mkdir C:\bin
|
||||||
|
COPY --from=download /windows/system32/netapi32.dll /windows/system32/netapi32.dll
|
||||||
|
COPY --from=download /app/docker.exe C:/bin/docker.exe
|
||||||
|
ADD release/windows/amd64/drone-docker.exe C:/bin/drone-docker.exe
|
||||||
|
ENTRYPOINT [ "C:\\bin\\drone-docker.exe" ]
|
||||||
@@ -41,3 +41,9 @@ manifests:
|
|||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: windows
|
os: windows
|
||||||
version: 1903
|
version: 1903
|
||||||
|
-
|
||||||
|
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1909-amd64
|
||||||
|
platform:
|
||||||
|
architecture: amd64
|
||||||
|
os: windows
|
||||||
|
version: 1909
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
module github.com/drone-plugins/drone-docker
|
module github.com/drone-plugins/drone-docker
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/aws/aws-sdk-go v1.16.15
|
github.com/aws/aws-sdk-go v1.26.7
|
||||||
github.com/coreos/go-semver v0.2.0
|
github.com/coreos/go-semver v0.2.0
|
||||||
github.com/joho/godotenv v1.3.0
|
github.com/joho/godotenv v1.3.0
|
||||||
github.com/sirupsen/logrus v1.3.0
|
github.com/sirupsen/logrus v1.3.0
|
||||||
github.com/urfave/cli v1.20.0
|
github.com/urfave/cli v1.22.2
|
||||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e // indirect
|
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e // indirect
|
||||||
golang.org/x/text v0.3.0 // indirect
|
golang.org/x/text v0.3.0 // indirect
|
||||||
gopkg.in/yaml.v2 v2.2.2 // indirect
|
|
||||||
)
|
)
|
||||||
|
|
||||||
replace github.com/urfave/cli => github.com/bradrydzewski/cli v0.0.0-20190108225652-0d51abd87c77
|
go 1.13
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
github.com/aws/aws-sdk-go v1.16.15 h1:kQyxfRyjAwIYjf0225sn/pn+WAlncKyI8dmT3+ItMFE=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/aws/aws-sdk-go v1.16.15/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
github.com/aws/aws-sdk-go v1.26.7 h1:ObjEnmzvSdYy8KVd3me7v/UMyCn81inLy2SyoIPoBkg=
|
||||||
github.com/bradrydzewski/cli v0.0.0-20190108225652-0d51abd87c77 h1:bXc5tB7PFVzIHUfTECDt0Orw6mIAzHePWBmemvtnfiU=
|
github.com/aws/aws-sdk-go v1.26.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
|
||||||
github.com/bradrydzewski/cli v0.0.0-20190108225652-0d51abd87c77/go.mod h1:4SmsVk3pOgYeJlG54e23Ztd/HucXeH5RmH5bNO+uOpk=
|
|
||||||
github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazuY=
|
github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazuY=
|
||||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
|
||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
|
||||||
@@ -14,6 +15,10 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGi
|
|||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
|
||||||
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
|
||||||
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
github.com/sirupsen/logrus v1.3.0 h1:hI/7Q+DtNZ2kINb6qt/lS+IyXnHQe9e90POfeewL/ME=
|
github.com/sirupsen/logrus v1.3.0 h1:hI/7Q+DtNZ2kINb6qt/lS+IyXnHQe9e90POfeewL/ME=
|
||||||
github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
@@ -21,6 +26,8 @@ github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1
|
|||||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||||
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
|
github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
|
||||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||||
|
github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo=
|
||||||
|
github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I=
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I=
|
||||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||||
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e h1:bRhVy7zSSasaqNksaRZiA5EEI+Ei4I1nO5Jh72wfHlg=
|
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e h1:bRhVy7zSSasaqNksaRZiA5EEI+Ei4I1nO5Jh72wfHlg=
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ local test_pipeline_name = 'testing';
|
|||||||
local windows(os) = os == 'windows';
|
local windows(os) = os == 'windows';
|
||||||
|
|
||||||
local golang_image(os, version) =
|
local golang_image(os, version) =
|
||||||
'golang:' + '1.11' + if windows(os) then '-windowsservercore-' + version else '';
|
'golang:' + '1.13' + if windows(os) then '-windowsservercore-' + version else '';
|
||||||
|
|
||||||
{
|
{
|
||||||
test(os='linux', arch='amd64', version='')::
|
test(os='linux', arch='amd64', version='')::
|
||||||
|
|||||||
@@ -9,10 +9,13 @@ import (
|
|||||||
|
|
||||||
// DefaultTagSuffix returns a set of default suggested tags
|
// DefaultTagSuffix returns a set of default suggested tags
|
||||||
// based on the commit ref with an attached suffix.
|
// based on the commit ref with an attached suffix.
|
||||||
func DefaultTagSuffix(ref, suffix string) []string {
|
func DefaultTagSuffix(ref, suffix string) ([]string, error) {
|
||||||
tags := DefaultTags(ref)
|
tags, err := DefaultTags(ref)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
if len(suffix) == 0 {
|
if len(suffix) == 0 {
|
||||||
return tags
|
return tags, nil
|
||||||
}
|
}
|
||||||
for i, tag := range tags {
|
for i, tag := range tags {
|
||||||
if tag == "latest" {
|
if tag == "latest" {
|
||||||
@@ -21,7 +24,7 @@ func DefaultTagSuffix(ref, suffix string) []string {
|
|||||||
tags[i] = fmt.Sprintf("%s-%s", tag, suffix)
|
tags[i] = fmt.Sprintf("%s-%s", tag, suffix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return tags
|
return tags, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func splitOff(input string, delim string) string {
|
func splitOff(input string, delim string) string {
|
||||||
@@ -36,19 +39,19 @@ func splitOff(input string, delim string) string {
|
|||||||
|
|
||||||
// DefaultTags returns a set of default suggested tags based on
|
// DefaultTags returns a set of default suggested tags based on
|
||||||
// the commit ref.
|
// the commit ref.
|
||||||
func DefaultTags(ref string) []string {
|
func DefaultTags(ref string) ([]string, error) {
|
||||||
if !strings.HasPrefix(ref, "refs/tags/") {
|
if !strings.HasPrefix(ref, "refs/tags/") {
|
||||||
return []string{"latest"}
|
return []string{"latest"}, nil
|
||||||
}
|
}
|
||||||
v := stripTagPrefix(ref)
|
v := stripTagPrefix(ref)
|
||||||
version, err := semver.NewVersion(v)
|
version, err := semver.NewVersion(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return []string{"latest"}
|
return []string{"latest"}, err
|
||||||
}
|
}
|
||||||
if version.PreRelease != "" || version.Metadata != "" {
|
if version.PreRelease != "" || version.Metadata != "" {
|
||||||
return []string{
|
return []string{
|
||||||
version.String(),
|
version.String(),
|
||||||
}
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
v = stripTagPrefix(ref)
|
v = stripTagPrefix(ref)
|
||||||
@@ -59,13 +62,13 @@ func DefaultTags(ref string) []string {
|
|||||||
return []string{
|
return []string{
|
||||||
fmt.Sprintf("%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor),
|
fmt.Sprintf("%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor),
|
||||||
fmt.Sprintf("%0*d.%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor, len(dotParts[2]), version.Patch),
|
fmt.Sprintf("%0*d.%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor, len(dotParts[2]), version.Patch),
|
||||||
}
|
}, nil
|
||||||
}
|
}
|
||||||
return []string{
|
return []string{
|
||||||
fmt.Sprintf("%0*d", len(dotParts[0]), version.Major),
|
fmt.Sprintf("%0*d", len(dotParts[0]), version.Major),
|
||||||
fmt.Sprintf("%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor),
|
fmt.Sprintf("%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor),
|
||||||
fmt.Sprintf("%0*d.%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor, len(dotParts[2]), version.Patch),
|
fmt.Sprintf("%0*d.%0*d.%0*d", len(dotParts[0]), version.Major, len(dotParts[1]), version.Minor, len(dotParts[2]), version.Patch),
|
||||||
}
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// UseDefaultTag for keep only default branch for latest tag
|
// UseDefaultTag for keep only default branch for latest tag
|
||||||
|
|||||||
+26
-6
@@ -34,20 +34,35 @@ func TestDefaultTags(t *testing.T) {
|
|||||||
{"refs/tags/1.0.0", []string{"1", "1.0", "1.0.0"}},
|
{"refs/tags/1.0.0", []string{"1", "1.0", "1.0.0"}},
|
||||||
{"refs/tags/v1.0.0", []string{"1", "1.0", "1.0.0"}},
|
{"refs/tags/v1.0.0", []string{"1", "1.0", "1.0.0"}},
|
||||||
{"refs/tags/v1.0.0-alpha.1", []string{"1.0.0-alpha.1"}},
|
{"refs/tags/v1.0.0-alpha.1", []string{"1.0.0-alpha.1"}},
|
||||||
|
|
||||||
// malformed or errors
|
|
||||||
{"refs/tags/x1.0.0", []string{"latest"}},
|
|
||||||
{"v1.0.0", []string{"latest"}},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
got, want := DefaultTags(test.Before), test.After
|
tags, err := DefaultTags(test.Before)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
got, want := tags, test.After
|
||||||
if !reflect.DeepEqual(got, want) {
|
if !reflect.DeepEqual(got, want) {
|
||||||
t.Errorf("Got tag %v, want %v", got, want)
|
t.Errorf("Got tag %v, want %v", got, want)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDefaultTagsError(t *testing.T) {
|
||||||
|
var tests = []string{
|
||||||
|
"refs/tags/x1.0.0",
|
||||||
|
"refs/tags/20190203",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, test := range tests {
|
||||||
|
_, err := DefaultTags(test)
|
||||||
|
if err == nil {
|
||||||
|
t.Errorf("Expect tag error for %s", test)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestDefaultTagSuffix(t *testing.T) {
|
func TestDefaultTagSuffix(t *testing.T) {
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
Before string
|
Before string
|
||||||
@@ -105,7 +120,12 @@ func TestDefaultTagSuffix(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
got, want := DefaultTagSuffix(test.Before, test.Suffix), test.After
|
tag, err := DefaultTagSuffix(test.Before, test.Suffix)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
got, want := tag, test.After
|
||||||
if !reflect.DeepEqual(got, want) {
|
if !reflect.DeepEqual(got, want) {
|
||||||
t.Errorf("Got tag %v, want %v", got, want)
|
t.Errorf("Got tag %v, want %v", got, want)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user