Compare commits

...

43 Commits

Author SHA1 Message Date
Brad Rydzewski f2aeb0f7fc fix docker home path on windows 2020-03-24 14:34:54 -07:00
Brad Rydzewski 9488d3352e fix docker home const for windows 2020-03-24 14:15:07 -07:00
Brad Rydzewski 528dc0a7b3 update config.json messaging 2020-03-24 13:49:10 -07:00
Brad Rydzewski cc112b3ed0 Merge pull request #269 from Koma-Andrea/master [ci skip]
Added docker configuration
2020-03-24 13:43:43 -07:00
Brad Rydzewski 122443b3e6 minor variable name change 2020-03-24 13:40:35 -07:00
Andrea Cervesato 063f479004 Using more generic configuration & respecting win 2020-03-24 21:00:24 +01:00
Andrea Cervesato 18c4e995d3 Added AuthConfig to login to multiple registry 2020-03-24 19:20:52 +01:00
Thomas Boerger 1f0cfcc3ef Merge pull request #256 from recamshak/build-add-host
Add build add-host
2019-12-11 21:41:59 +01:00
recamshak 17639d6cbf Add build add-host 2019-12-11 09:33:26 +09:00
Brad Rydzewski 4c09b80365 Merge pull request #248 from mjschultz/master
ECR: Respect the registry option
2019-10-16 10:07:49 -10:00
Brad Rydzewski 39da697e1e Merge branch 'master' into master 2019-10-16 10:03:13 -10:00
Thomas Boerger 5be3f2c282 Merge pull request #233 from jwalton9/ecr-assume-role
Add Assume Role Option For ECR Pushes
2019-10-15 11:30:33 +02:00
Thomas Boerger 0d7f74aa65 Merge branch 'master' into ecr-assume-role 2019-10-14 20:22:50 +02:00
Joe Walton 2184682042 Apply suggestions from code review
Co-Authored-By: Lauris BH <lauris@nix.lv>
2019-10-14 10:20:32 +01:00
Thomas Boerger 2124bb2c8d Merge pull request #252 from drone-plugins/revert-245-revert-243-revert-242-appendtags
Revert "Reapply append tags with autotag instead of replacing"
2019-10-10 09:45:32 +02:00
Thomas Boerger aa2a947782 Revert Reapply append tags with autotag instead of replacing 2019-10-10 09:34:38 +02:00
Thomas Boerger 6e2e66de0e Merge pull request #245 from drone-plugins/revert-243-revert-242-appendtags
Reapply append tags with autotag instead of replacing
2019-09-17 21:43:30 +02:00
Thomas Boerger 1672823733 Merge branch 'master' into revert-243-revert-242-appendtags 2019-09-17 21:39:32 +02:00
Brad Rydzewski 261afaa9ed use nanoserver for 1809 2019-08-15 10:54:51 -07:00
Michael J. Schultz 7b060dd935 Merge remote-tracking branch 'benwilson512/master' 2019-08-15 12:08:48 -05:00
Brad Rydzewski 3336758708 disable starting the daemon on windows 2019-08-14 12:51:43 -07:00
Brad Rydzewski 98722a6680 remove 1903 netapi32 2019-08-14 11:29:53 -07:00
Brad Rydzewski 8d8851bf98 use windowsservercore for 1903 2019-08-14 10:34:18 -07:00
Brad Rydzewski 65e411842e fix Dockerfile path 2019-08-13 15:52:36 -07:00
Brad Rydzewski d880d528ec enable 1903 build 2019-08-13 13:35:12 -07:00
Brad Rydzewski 43c45fed4d fix dependency graph 2019-08-09 10:46:20 -07:00
Brad Rydzewski acd38d572c remove windows jsonnet 2019-08-09 10:45:29 -07:00
Brad Rydzewski ac4f39236e remove windows specific yaml 2019-08-09 10:45:16 -07:00
Brad Rydzewski 90fab79dc3 enable windows 1809 builds 2019-08-09 10:44:41 -07:00
Thomas Boerger e8be4981da Revert "Revert "append tags with autotag instead of replacing"" 2019-08-07 09:48:46 +02:00
Brad Rydzewski 1bdd82a4a7 attempt to revert to 18.09.0 base image 2019-08-06 13:56:23 -07:00
Brad Rydzewski 3c2802ea17 microbadger not fail pipeline 2019-08-06 13:32:45 -07:00
Brad Rydzewski f65d51bcc8 update yaml to use plugins/docker:18 (known working version) 2019-08-06 13:19:30 -07:00
Brad Rydzewski e7fc4bb483 Merge pull request #243 from drone-plugins/revert-242-appendtags
Revert "append tags with autotag instead of replacing"
2019-08-06 13:09:36 -07:00
Brad Rydzewski b47dd5d7bc Revert "append tags with autotag instead of replacing" 2019-08-06 13:09:07 -07:00
Thomas Boerger 14e80ddb03 Merge pull request #242 from foosinn/appendtags
append tags with autotag instead of replacing
2019-08-06 21:30:34 +02:00
Stefan Schwarz db96c9a78b append tags with autotag instead of replacing
closes #201
2019-07-24 11:12:22 +02:00
Joe Walton b5b34938c5 Add Assume Role Option For ECR Pushes 2019-04-24 13:31:46 +01:00
Robert Lippens ebce953fc4 Create ACR plugin extension (#228)
* initial commit

* switch order of args for trimPrefix
2019-03-28 11:20:36 +01:00
Dominik Schmidt 13f2944b04 Update docker base image on Linux (#227) 2019-03-27 13:51:18 +01:00
Thomas Boerger 0e57ad9715 Merge branch 'master' into master 2019-01-19 21:40:28 +01:00
Ben Wilson f69f3d2b74 Merge remote-tracking branch 'upstream/master' 2018-11-28 08:33:15 -05:00
Ben Wilson babff9c7ad use the specified registry 2018-10-27 15:27:43 -04:00
23 changed files with 653 additions and 785 deletions
+9
View File
@@ -21,6 +21,15 @@ local pipeline = import 'pipeline.libsonnet';
'linux-arm',
]),
pipeline.build('acr', 'linux', 'amd64'),
pipeline.build('acr', 'linux', 'arm64'),
pipeline.build('acr', 'linux', 'arm'),
pipeline.notifications('acr', depends_on=[
'linux-amd64',
'linux-arm64',
'linux-arm',
]),
pipeline.build('ecr', 'linux', 'amd64'),
pipeline.build('ecr', 'linux', 'arm64'),
pipeline.build('ecr', 'linux', 'arm'),
-26
View File
@@ -1,26 +0,0 @@
local pipeline = import 'pipeline.libsonnet';
[
pipeline.test('windows', 'amd64', '1803'),
pipeline.build('docker', 'windows', 'amd64', '1803'),
pipeline.build('docker', 'windows', 'amd64', '1809'),
pipeline.notifications('docker', 'windows', 'amd64', '1809', [
'windows-1803',
'windows-1809'
]),
pipeline.build('gcr', 'windows', 'amd64', '1803'),
pipeline.build('gcr', 'windows', 'amd64', '1809'),
pipeline.notifications('gcr', 'windows', 'amd64', '1809', [
'windows-1803',
'windows-1809'
]),
pipeline.build('ecr', 'windows', 'amd64', '1803'),
pipeline.build('ecr', 'windows', 'amd64', '1809'),
pipeline.notifications('ecr', 'windows', 'amd64', '1809', [
'windows-1803',
'windows-1809'
]),
]
-709
View File
@@ -1,709 +0,0 @@
---
kind: pipeline
name: testing
platform:
os: windows
arch: amd64
version: 1803
steps:
- name: vet
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- go vet ./...
environment:
GO111MODULE: on
volumes:
- name: gopath
path: C:\\gopath
- name: test
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- go test -cover ./...
environment:
GO111MODULE: on
volumes:
- name: gopath
path: C:\\gopath
volumes:
- name: gopath
temp: {}
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
---
kind: pipeline
name: windows-1803-docker
platform:
os: windows
arch: amd64
version: 1803
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: executable
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- ./release/windows/amd64/drone-docker.exe --help
- name: dryrun
pull: always
image: plugins/docker:windows-1803
settings:
daemon_off: true
dockerfile: docker/docker/Dockerfile.windows.1803
dry_run: true
password:
from_secret: docker_password
repo: plugins/docker
tags: windows-1803
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1803
settings:
auto_tag: true
auto_tag_suffix: windows-1803
daemon_off: true
dockerfile: docker/docker/Dockerfile.windows.1803
password:
from_secret: docker_password
repo: plugins/docker
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- testing
---
kind: pipeline
name: windows-1809-docker
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-docker.exe ./cmd/drone-docker"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: executable
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- ./release/windows/amd64/drone-docker.exe --help
- name: dryrun
pull: always
image: plugins/docker:windows-1809
settings:
daemon_off: true
dockerfile: docker/docker/Dockerfile.windows.1809
dry_run: true
password:
from_secret: docker_password
repo: plugins/docker
tags: windows-1809
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1809
settings:
auto_tag: true
auto_tag_suffix: windows-1809
daemon_off: true
dockerfile: docker/docker/Dockerfile.windows.1809
password:
from_secret: docker_password
repo: plugins/docker
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- testing
---
kind: pipeline
name: notifications-docker
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: manifest
pull: always
image: plugins/manifest
settings:
auto_tag: true
ignore_missing: true
password:
from_secret: docker_password
spec: docker/docker/manifest.tmpl
username:
from_secret: docker_username
- name: microbadger
pull: always
image: plugins/webhook
settings:
urls:
from_secret: microbadger_docker
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
depends_on:
- windows-1803-docker
- windows-1809-docker
---
kind: pipeline
name: windows-1803-gcr
platform:
os: windows
arch: amd64
version: 1803
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: dryrun
pull: always
image: plugins/docker:windows-1803
settings:
daemon_off: true
dockerfile: docker/gcr/Dockerfile.windows.1803
dry_run: true
password:
from_secret: docker_password
repo: plugins/gcr
tags: windows-1803
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1803
settings:
auto_tag: true
auto_tag_suffix: windows-1803
daemon_off: true
dockerfile: docker/gcr/Dockerfile.windows.1803
password:
from_secret: docker_password
repo: plugins/gcr
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- windows-1803-docker
---
kind: pipeline
name: windows-1809-gcr
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-gcr.exe ./cmd/drone-gcr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: dryrun
pull: always
image: plugins/docker:windows-1809
settings:
daemon_off: true
dockerfile: docker/gcr/Dockerfile.windows.1809
dry_run: true
password:
from_secret: docker_password
repo: plugins/gcr
tags: windows-1809
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1809
settings:
auto_tag: true
auto_tag_suffix: windows-1809
daemon_off: true
dockerfile: docker/gcr/Dockerfile.windows.1809
password:
from_secret: docker_password
repo: plugins/gcr
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- windows-1809-docker
---
kind: pipeline
name: notifications-gcr
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: manifest
pull: always
image: plugins/manifest
settings:
auto_tag: true
ignore_missing: true
password:
from_secret: docker_password
spec: docker/gcr/manifest.tmpl
username:
from_secret: docker_username
- name: microbadger
pull: always
image: plugins/webhook
settings:
urls:
from_secret: microbadger_gcr
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
depends_on:
- windows-1803-gcr
- windows-1809-gcr
---
kind: pipeline
name: windows-1803-ecr
platform:
os: windows
arch: amd64
version: 1803
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1803
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: dryrun
pull: always
image: plugins/docker:windows-1803
settings:
daemon_off: true
dockerfile: docker/ecr/Dockerfile.windows.1803
dry_run: true
password:
from_secret: docker_password
repo: plugins/ecr
tags: windows-1803
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1803
settings:
auto_tag: true
auto_tag_suffix: windows-1803
daemon_off: true
dockerfile: docker/ecr/Dockerfile.windows.1803
password:
from_secret: docker_password
repo: plugins/ecr
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- windows-1803-docker
---
kind: pipeline
name: windows-1809-ecr
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: build-push
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_COMMIT_SHA:0:8}\" -a -tags netgo -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11-windowsservercore-1809
commands:
- "go build -v -ldflags \"-X main.version=${DRONE_TAG##v}\" -a -tags netgo -o release/windows/amd64/drone-ecr.exe ./cmd/drone-ecr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- tag
- name: dryrun
pull: always
image: plugins/docker:windows-1809
settings:
daemon_off: true
dockerfile: docker/ecr/Dockerfile.windows.1809
dry_run: true
password:
from_secret: docker_password
repo: plugins/ecr
tags: windows-1809
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
- pull_request
- name: publish
pull: always
image: plugins/docker:windows-1809
settings:
auto_tag: true
auto_tag_suffix: windows-1809
daemon_off: true
dockerfile: docker/ecr/Dockerfile.windows.1809
password:
from_secret: docker_password
repo: plugins/ecr
username:
from_secret: docker_username
volumes:
- name: docker_pipe
path: \\\\.\\pipe\\docker_engine
when:
event:
exclude:
- pull_request
volumes:
- name: docker_pipe
host:
path: \\\\.\\pipe\\docker_engine
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- windows-1809-docker
---
kind: pipeline
name: notifications-ecr
platform:
os: windows
arch: amd64
version: 1809
steps:
- name: manifest
pull: always
image: plugins/manifest
settings:
auto_tag: true
ignore_missing: true
password:
from_secret: docker_password
spec: docker/ecr/manifest.tmpl
username:
from_secret: docker_username
- name: microbadger
pull: always
image: plugins/webhook
settings:
urls:
from_secret: microbadger_ecr
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
depends_on:
- windows-1803-ecr
- windows-1809-ecr
...
+379 -24
View File
@@ -39,6 +39,82 @@ trigger:
- "refs/tags/**"
- "refs/pull/**"
---
kind: pipeline
type: ssh
name: windows-1809-amd64-docker
platform:
os: windows
server:
host: windows.1809.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.1809 -t plugins/docker:windows-1809-amd64 .
- docker push plugins/docker:windows-1809-amd64
environment:
CGO_ENABLED: "0"
USERNAME:
from_secret: docker_username
PASSWORD:
from_secret: docker_password
trigger:
event:
- push
depends_on:
- 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
name: linux-amd64-docker
@@ -81,7 +157,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/docker/Dockerfile.linux.amd64
@@ -98,7 +174,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-amd64
@@ -165,7 +241,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/docker/Dockerfile.linux.arm64
@@ -182,7 +258,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
@@ -249,7 +325,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/docker/Dockerfile.linux.arm
@@ -266,7 +342,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm
@@ -315,6 +391,7 @@ steps:
- name: microbadger
pull: always
image: plugins/webhook
failure: ignore
settings:
urls:
from_secret: microbadger_docker
@@ -325,6 +402,8 @@ trigger:
- "refs/tags/**"
depends_on:
- windows-1809-amd64-docker
- windows-1903-amd64-docker
- linux-amd64-docker
- linux-arm64-docker
- linux-arm-docker
@@ -365,7 +444,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/gcr/Dockerfile.linux.amd64
@@ -382,7 +461,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-amd64
@@ -443,7 +522,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/gcr/Dockerfile.linux.arm64
@@ -460,7 +539,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
@@ -521,7 +600,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/gcr/Dockerfile.linux.arm
@@ -538,7 +617,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm
@@ -587,6 +666,7 @@ steps:
- name: microbadger
pull: always
image: plugins/webhook
failure: ignore
settings:
urls:
from_secret: microbadger_gcr
@@ -637,7 +717,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/ecr/Dockerfile.linux.amd64
@@ -654,7 +734,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-amd64
@@ -715,7 +795,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/ecr/Dockerfile.linux.arm64
@@ -732,7 +812,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
@@ -793,7 +873,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/ecr/Dockerfile.linux.arm
@@ -810,7 +890,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm
@@ -859,6 +939,7 @@ steps:
- name: microbadger
pull: always
image: plugins/webhook
failure: ignore
settings:
urls:
from_secret: microbadger_ecr
@@ -909,7 +990,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/heroku/Dockerfile.linux.amd64
@@ -926,7 +1007,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-amd64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-amd64
@@ -987,7 +1068,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/heroku/Dockerfile.linux.arm64
@@ -1004,7 +1085,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm64
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
@@ -1065,7 +1146,7 @@ steps:
- name: dryrun
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
daemon_off: false
dockerfile: docker/heroku/Dockerfile.linux.arm
@@ -1082,7 +1163,7 @@ steps:
- name: publish
pull: always
image: plugins/docker:linux-arm
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm
@@ -1131,6 +1212,7 @@ steps:
- name: microbadger
pull: always
image: plugins/webhook
failure: ignore
settings:
urls:
from_secret: microbadger_heroku
@@ -1145,4 +1227,277 @@ depends_on:
- linux-arm64-heroku
- linux-arm-heroku
---
kind: pipeline
name: linux-amd64-acr
platform:
os: linux
arch: amd64
steps:
- name: build-push
pull: always
image: golang:1.11
commands:
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11
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"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- 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
pull: always
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-amd64
daemon_off: false
dockerfile: docker/acr/Dockerfile.linux.amd64
password:
from_secret: docker_password
repo: plugins/acr
username:
from_secret: docker_username
when:
event:
exclude:
- pull_request
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- linux-amd64-docker
---
kind: pipeline
name: linux-arm64-acr
platform:
os: linux
arch: arm64
steps:
- name: build-push
pull: always
image: golang:1.11
commands:
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm64/drone-acr ./cmd/drone-acr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11
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"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- 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
pull: always
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm64
daemon_off: false
dockerfile: docker/acr/Dockerfile.linux.arm64
password:
from_secret: docker_password
repo: plugins/acr
username:
from_secret: docker_username
when:
event:
exclude:
- pull_request
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- linux-arm64-docker
---
kind: pipeline
name: linux-arm-acr
platform:
os: linux
arch: arm
steps:
- name: build-push
pull: always
image: golang:1.11
commands:
- "go build -v -ldflags \"-X main.build=${DRONE_BUILD_NUMBER}\" -a -tags netgo -o release/linux/arm/drone-acr ./cmd/drone-acr"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
exclude:
- tag
- name: build-tag
pull: always
image: golang:1.11
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"
environment:
CGO_ENABLED: 0
GO111MODULE: on
when:
event:
- 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
pull: always
image: plugins/docker:18
settings:
auto_tag: true
auto_tag_suffix: linux-arm
daemon_off: false
dockerfile: docker/acr/Dockerfile.linux.arm
password:
from_secret: docker_password
repo: plugins/acr
username:
from_secret: docker_username
when:
event:
exclude:
- pull_request
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
- "refs/pull/**"
depends_on:
- linux-arm-docker
---
kind: pipeline
name: notifications-acr
platform:
os: linux
arch: amd64
steps:
- name: manifest
pull: always
image: plugins/manifest
settings:
ignore_missing: true
password:
from_secret: docker_password
spec: docker/acr/manifest.tmpl
username:
from_secret: docker_username
- name: microbadger
pull: always
image: plugins/webhook
failure: ignore
settings:
url:
from_secret: microbadger_acr
trigger:
ref:
- refs/heads/master
- "refs/tags/**"
depends_on:
- linux-amd64-acr
- linux-arm64-acr
- linux-arm-acr
...
+6
View File
@@ -23,6 +23,7 @@ export GO111MODULE=on
go build -v -a -tags netgo -o release/linux/amd64/drone-docker ./cmd/drone-docker
go build -v -a -tags netgo -o release/linux/amd64/drone-gcr ./cmd/drone-gcr
go build -v -a -tags netgo -o release/linux/amd64/drone-ecr ./cmd/drone-ecr
go build -v -a -tags netgo -o release/linux/amd64/drone-acr ./cmd/drone-acr
go build -v -a -tags netgo -o release/linux/amd64/drone-heroku ./cmd/drone-heroku
```
@@ -46,6 +47,11 @@ docker build \
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
--file docker/ecr/Dockerfile.linux.amd64 --tag plugins/ecr .
docker build \
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
--file docker/acr/Dockerfile.linux.amd64 --tag plugins/acr .
docker build \
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
+53
View File
@@ -0,0 +1,53 @@
package main
import (
"fmt"
"os"
"os/exec"
"strings"
)
func main() {
var (
repo = getenv("PLUGIN_REPO")
registry = getenv("PLUGIN_REGISTRY")
username = getenv("SERVICE_PRINCIPAL_CLIENT_ID")
password = getenv("SERVICE_PRINCIPAL_CLIENT_SECRET")
)
// default registry value
if registry == "" {
registry = "azurecr.io"
}
// must use the fully qualified repo name. If the
// repo name does not have the registry prefix we
// should prepend.
if !strings.HasPrefix(repo, registry) {
repo = fmt.Sprintf("%s/%s", registry, repo)
}
os.Setenv("PLUGIN_REPO", repo)
os.Setenv("PLUGIN_REGISTRY", registry)
os.Setenv("DOCKER_USERNAME", username)
os.Setenv("DOCKER_PASSWORD", password)
// invoke the base docker plugin binary
cmd := exec.Command("drone-docker")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
os.Exit(1)
}
}
func getenv(key ...string) (s string) {
for _, k := range key {
s = os.Getenv(k)
if s != "" {
return
}
}
return
}
+13 -1
View File
@@ -7,7 +7,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
"github.com/drone-plugins/drone-docker"
docker "github.com/drone-plugins/drone-docker"
)
var (
@@ -208,6 +208,11 @@ func main() {
Usage: "docker email",
EnvVar: "PLUGIN_EMAIL,DOCKER_EMAIL",
},
cli.StringFlag{
Name: "docker.config",
Usage: "docker json dockerconfig content",
EnvVar: "PLUGIN_CONFIG",
},
cli.BoolTFlag{
Name: "docker.purge",
Usage: "docker should cleanup images",
@@ -223,6 +228,11 @@ func main() {
Usage: "do not use cached intermediate containers",
EnvVar: "PLUGIN_NO_CACHE",
},
cli.StringSliceFlag{
Name: "add-host",
Usage: "additional host:IP mapping",
EnvVar: "PLUGIN_ADD_HOST",
},
}
if err := app.Run(os.Args); err != nil {
@@ -239,6 +249,7 @@ func run(c *cli.Context) error {
Username: c.String("docker.username"),
Password: c.String("docker.password"),
Email: c.String("docker.email"),
Config: c.String("docker.config"),
},
Build: docker.Build{
Remote: c.String("remote.url"),
@@ -257,6 +268,7 @@ func run(c *cli.Context) error {
Labels: c.StringSlice("custom-labels"),
LabelSchema: c.StringSlice("label-schema"),
NoCache: c.Bool("no-cache"),
AddHost: c.StringSlice("add-host"),
},
Daemon: docker.Daemon{
Registry: c.String("docker.registry"),
+19 -3
View File
@@ -12,6 +12,7 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ecr"
)
@@ -21,12 +22,14 @@ const defaultRegion = "us-east-1"
func main() {
var (
repo = getenv("PLUGIN_REPO")
registry = getenv("PLUGIN_REGISTRY")
region = getenv("PLUGIN_REGION", "ECR_REGION", "AWS_REGION")
key = getenv("PLUGIN_ACCESS_KEY", "ECR_ACCESS_KEY", "AWS_ACCESS_KEY_ID")
secret = getenv("PLUGIN_SECRET_KEY", "ECR_SECRET_KEY", "AWS_SECRET_ACCESS_KEY")
create = parseBoolOrDefault(false, getenv("PLUGIN_CREATE_REPOSITORY", "ECR_CREATE_REPOSITORY"))
lifecyclePolicy = getenv("PLUGIN_LIFECYCLE_POLICY")
repositoryPolicy = getenv("PLUGIN_REPOSITORY_POLICY")
assumeRole = getenv("PLUGIN_ASSUME_ROLE")
)
// set the region
@@ -42,13 +45,17 @@ func main() {
}
sess, err := session.NewSession(&aws.Config{Region: &region})
if err != nil {
log.Fatal(fmt.Sprintf("error creating aws session: %v", err))
}
svc := ecr.New(sess)
username, password, registry, err := getAuthInfo(svc)
svc := getECRClient(sess, assumeRole)
username, password, defaultRegistry, err := getAuthInfo(svc)
if registry == "" {
registry = defaultRegistry
}
if err != nil {
log.Fatal(fmt.Sprintf("error getting ECR auth: %v", err))
}
@@ -178,3 +185,12 @@ func getenv(key ...string) (s string) {
}
return
}
func getECRClient(sess *session.Session, role string) *ecr.ECR {
if role == "" {
return ecr.New(sess)
}
return ecr.New(sess, &aws.Config{
Credentials: stscreds.NewCredentials(sess, role),
})
}
+27
View File
@@ -0,0 +1,27 @@
// +build !windows
package docker
import (
"io/ioutil"
"os"
)
const dockerExe = "/usr/local/bin/docker"
const dockerdExe = "/usr/local/bin/dockerd"
const dockerHome = "/root/.docker/"
func (p Plugin) startDaemon() {
cmd := commandDaemon(p.Daemon)
if p.Daemon.Debug {
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
} else {
cmd.Stdout = ioutil.Discard
cmd.Stderr = ioutil.Discard
}
go func() {
trace(cmd)
cmd.Run()
}()
}
+11
View File
@@ -0,0 +1,11 @@
// +build windows
package docker
const dockerExe = "C:\\bin\\docker.exe"
const dockerdExe = ""
const dockerHome = "C:\\ProgramData\\docker\\"
func (p Plugin) startDaemon() {
// this is a no-op on windows
}
+27 -17
View File
@@ -5,6 +5,7 @@ import (
"io/ioutil"
"os"
"os/exec"
"path/filepath"
"strings"
"time"
)
@@ -33,6 +34,7 @@ type (
Username string // Docker registry username
Password string // Docker registry password
Email string // Docker registry email
Config string // Docker Auth Config
}
// Build defines Docker build parameters.
@@ -53,6 +55,7 @@ type (
LabelSchema []string // label-schema Label map
Labels []string // Label map
NoCache bool // Docker build no-cache
AddHost []string // Docker build add-host
}
// Plugin defines the Docker plugin parameters.
@@ -69,18 +72,7 @@ type (
func (p Plugin) Exec() error {
// start the Docker daemon server
if !p.Daemon.Disabled {
cmd := commandDaemon(p.Daemon)
if p.Daemon.Debug {
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
} else {
cmd.Stdout = ioutil.Discard
cmd.Stderr = ioutil.Discard
}
go func() {
trace(cmd)
cmd.Run()
}()
p.startDaemon()
}
// poll the docker daemon until it is started. This ensures the daemon is
@@ -94,6 +86,17 @@ func (p Plugin) Exec() error {
time.Sleep(time.Second * 1)
}
// 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 writeing config.json: %s", err)
}
}
// login to the Docker registry
if p.Login.Password != "" {
cmd := commandLogin(p.Login)
@@ -101,8 +104,15 @@ func (p Plugin) Exec() error {
if err != nil {
return fmt.Errorf("Error authenticating: %s", err)
}
} else {
fmt.Println("Registry credentials not provided. Guest mode enabled.")
}
switch {
case p.Login.Password != "":
fmt.Println("Detected registry credentials")
case p.Login.Config != "":
fmt.Println("Detected registry credentials file")
default:
fmt.Println("Registry credentials or Docker config not provided. Guest mode enabled.")
}
if p.Build.Squash && !p.Daemon.Experimental {
@@ -154,9 +164,6 @@ func (p Plugin) Exec() error {
return nil
}
const dockerExe = "/usr/local/bin/docker"
const dockerdExe = "/usr/local/bin/dockerd"
// helper function to create the docker login command.
func commandLogin(login Login) *exec.Cmd {
if login.Email != "" {
@@ -230,6 +237,9 @@ func commandBuild(build Build) *exec.Cmd {
for _, arg := range build.Args {
args = append(args, "--build-arg", arg)
}
for _, host := range build.AddHost {
args = append(args, "--add-host", host)
}
if build.Target != "" {
args = append(args, "--target", build.Target)
}
+4
View File
@@ -0,0 +1,4 @@
FROM plugins/docker:linux-amd64
ADD release/linux/amd64/drone-acr /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-acr"]
+4
View File
@@ -0,0 +1,4 @@
FROM plugins/docker:linux-arm
ADD release/linux/arm/drone-acr /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-acr"]
+4
View File
@@ -0,0 +1,4 @@
FROM plugins/docker:linux-arm64
ADD release/linux/arm64/drone-acr /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-acr"]
+10
View File
@@ -0,0 +1,10 @@
# escape=`
FROM plugins/docker:windows-1803
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
org.label-schema.name="Drone ACR" `
org.label-schema.vendor="Drone.IO Community" `
org.label-schema.schema-version="1.0"
ADD release/windows/amd64/drone-acr.exe C:/bin/drone-acr.exe
ENTRYPOINT [ "C:\\bin\\drone-acr.exe" ]
+10
View File
@@ -0,0 +1,10 @@
# escape=`
FROM plugins/docker:windows-1809
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
org.label-schema.name="Drone ACR" `
org.label-schema.vendor="Drone.IO Community" `
org.label-schema.schema-version="1.0"
ADD release/windows/amd64/drone-acr.exe C:/bin/drone-acr.exe
ENTRYPOINT [ "C:\\bin\\drone-acr.exe" ]
+37
View File
@@ -0,0 +1,37 @@
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
{{/if}}
manifests:
-
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-amd64
platform:
architecture: amd64
os: linux
-
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm64
platform:
architecture: arm64
os: linux
variant: v8
-
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}linux-arm
platform:
architecture: arm
os: linux
variant: v7
-
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1803
platform:
architecture: amd64
os: windows
version: 1803
-
image: plugins/acr:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809
platform:
architecture: amd64
os: windows
version: 1809
+1 -1
View File
@@ -1,4 +1,4 @@
FROM docker:18.06-dind
FROM docker:18.09.0-dind
ADD release/linux/amd64/drone-docker /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
+1 -1
View File
@@ -1,4 +1,4 @@
FROM arm32v6/docker:18.06-dind
FROM arm32v6/docker:18.09.0-dind
ADD release/linux/arm/drone-docker /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
+1 -1
View File
@@ -1,4 +1,4 @@
FROM arm64v8/docker:18.06-dind
FROM arm64v8/docker:18.09.0-dind
ADD release/linux/arm64/drone-docker /bin/
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh", "/bin/drone-docker"]
+2 -1
View File
@@ -13,7 +13,8 @@ RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tl
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 plugins/base:windows-1809
FROM mcr.microsoft.com/windows/nanoserver:1809
USER ContainerAdministrator
LABEL maintainer="Drone.IO Community <drone-dev@googlegroups.com>" `
org.label-schema.name="Drone Docker" `
+28
View File
@@ -0,0 +1,28 @@
# escape=`
FROM mcr.microsoft.com/windows/servercore:1903 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:1903
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" ]
+7 -1
View File
@@ -30,8 +30,14 @@ manifests:
os: windows
version: 1803
-
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1809-amd64
platform:
architecture: amd64
os: windows
version: 1809
-
image: plugins/docker:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}windows-1903-amd64
platform:
architecture: amd64
os: windows
version: 1903