diff --git a/.drone.yml b/.drone.yml index 71a0600..789eadf 100644 --- a/.drone.yml +++ b/.drone.yml @@ -77,6 +77,44 @@ trigger: 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 + - docker login -u $env:USERNAME -p $env:PASSWORD + - docker build -f 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 @@ -365,6 +403,7 @@ trigger: depends_on: - windows-1809-amd64-docker +- windows-1903-amd64-docker - linux-amd64-docker - linux-arm64-docker - linux-arm-docker diff --git a/docker/docker/Dockerfile.windows.1903 b/docker/docker/Dockerfile.windows.1903 new file mode 100644 index 0000000..4d50542 --- /dev/null +++ b/docker/docker/Dockerfile.windows.1903 @@ -0,0 +1,27 @@ +# escape=` +FROM mcr.microsoft.com/windows/servercore:1903 as download + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV DOCKER_VERSION 18.09.1 + +RUN Invoke-WebRequest 'http://constexpr.org/innoextract/files/innoextract-1.6-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 " ` + org.label-schema.name="Drone Docker" ` + org.label-schema.vendor="Drone.IO Community" ` + org.label-schema.schema-version="1.0" + +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" ]