From 0a64ab69eba400afbf1c1131dd7a862c9f832bca Mon Sep 17 00:00:00 2001 From: Michele Date: Wed, 25 Nov 2020 22:06:59 +0000 Subject: [PATCH] drone docker image --- .drone.yml | 9 ++-- BaseCompileImage/Dockerfile | 25 +++++++++ Dockerfile | 101 +++--------------------------------- 3 files changed, 38 insertions(+), 97 deletions(-) create mode 100644 BaseCompileImage/Dockerfile diff --git a/.drone.yml b/.drone.yml index 76a365c..12d1167 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,7 +1,8 @@ kind: pipeline name: default steps: -- name: compile - image: mcr.microsoft.com/dotnet/sdk:5.0 - commands: - - sh build.sh +- name: docker + image: plugins/docker + settings: + repo: privateregistry.michelescandura.com/michele/basecompileimage + registry: privateregistry.michelescandura.com diff --git a/BaseCompileImage/Dockerfile b/BaseCompileImage/Dockerfile new file mode 100644 index 0000000..db32cb0 --- /dev/null +++ b/BaseCompileImage/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:focal +RUN export DEBIAN_FRONTEND=noninteractive \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + \ + # Install Microsoft package feed + && wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + \ + # Install .NET + && apt-get update \ + && apt-get install -y --no-install-recommends \ + apt-transport-https \ + dotnet-sdk-5.0 \ + dotnet-sdk-3.1 \ + libpng16-16 \ + libnvtt-dev \ + \ + # Cleanup + && rm -rf /var/lib/apt/lists/* + +RUN dotnet tool install -g dotnet-mgcb diff --git a/Dockerfile b/Dockerfile index a4ab0b6..bdd1b4c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,95 +1,10 @@ -# https://hub.docker.com/_/microsoft-dotnet-core -#FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build -# FROM alpine AS build -#ARG REPO=mcr.microsoft.com/dotnet/aspnet -#FROM $REPO:5.0-alpine3.12-amd64 - -#ENV \ -# # Unset ASPNETCORE_URLS from aspnet base image -# ASPNETCORE_URLS= \ -# DOTNET_SDK_VERSION=5.0.100 \ -# # Disable the invariant mode (set in base image) -# DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \ -# # Enable correct mode for dotnet watch (only mode supported in a container) -# DOTNET_USE_POLLING_FILE_WATCHER=true \ -# # Skip extraction of XML docs - generally not useful within an image/container - helps performance -# NUGET_XMLDOC_MODE=skip \ -# # PowerShell telemetry for docker image usage -# POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Alpine-3.12## - -#RUN apk add --no-cache \ -# curl \ -# icu-libs \ -# wget \ -# git \ -# bash -# -#WORKDIR /installer -#RUN wget https://dot.net/v1/dotnet-install.sh -##COPY ./dotnet-install.sh ./dotnet-install.sh -#RUN chmod +x dotnet-install.sh -#RUN ./dotnet-install.sh --channel 3.1 -#RUN ./dotnet-install.sh --channel 5.0 -#RUN export PATH=~/.dotnet:$PATH -#RUN export DOTNET_ROOT=~/.dotnet -#RUN export PATH=$PATH:~/.dotnet -##ENV PATH="${PATH}:~/.dotnet" -#ENV PATH="~/.dotnet:${PATH}" - -#RUN which dotnet -# # Install .NET CLI dependencies -# RUN apt-get update \ -# && apt-get install -y --no-install-recommends \ -# libc6 \ -# libgcc1 \ -# libgssapi-krb5-2 \ -# libicu60 \ -# libssl1.1 \ -# libstdc++6 \ -# zlib1g \ -# && rm -rf /var/lib/apt/lists/* - -# # Install .NET Core SDK -# RUN dotnet_sdk_version=3.1.404 \ -# && curl -SL --output dotnet.tar.gz https://dotnetcli.azureedge.net/dotnet/Sdk/$dotnet_sdk_version/dotnet-sdk-$dotnet_sdk_version-linux-x64.tar.gz \ -# && dotnet_sha512='94d8eca3b4e2e6c36135794330ab196c621aee8392c2545a19a991222e804027f300d8efd152e9e4893c4c610d6be8eef195e30e6f6675285755df1ea49d3605' \ -# && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ -# && mkdir -p /usr/share/dotnet \ -# && tar -ozxf dotnet.tar.gz -C /usr/share/dotnet \ -# && rm dotnet.tar.gz \ -# && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \ -# # Trigger first run experience by running arbitrary cmd -# && dotnet help -FROM ubuntu:groovy as build -RUN export DEBIAN_FRONTEND=noninteractive \ - && apt-get update \ - # Install prerequisites - && apt-get install -y --no-install-recommends \ - wget \ - ca-certificates \ - \ - # Install Microsoft package feed - && wget -q https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ - && dpkg -i packages-microsoft-prod.deb \ - && rm packages-microsoft-prod.deb \ - \ - # Install .NET - && apt-get update \ - && apt-get install -y --no-install-recommends \ - dotnet-sdk-5.0 \ - dotnet-sdk-3.1 \ - libpng12 \ - \ - # Cleanup - && rm -rf /var/lib/apt/lists/* - - +FROM privateregistry.michelescandura.com/michele/basecompileimage as build WORKDIR /src # copy csproj and restore as distinct layers COPY Sledgemapper.Api/*.csproj ./Sledgemapper.Api/ COPY Sledgemapper.Shared/*.csproj ./Sledgemapper.Shared/ -COPY Sledgemapper/*.csproj ./Sledgemapper/ +# COPY Sledgemapper/*.csproj ./Sledgemapper/ WORKDIR /src/Sledgemapper.Api @@ -99,7 +14,7 @@ WORKDIR /src/Sledgemapper.Shared RUN dotnet restore WORKDIR /src/Sledgemapper -RUN dotnet restore +# RUN dotnet restore @@ -108,13 +23,13 @@ RUN dotnet restore WORKDIR /src COPY Sledgemapper.Api/. ./Sledgemapper.Api/ COPY Sledgemapper.Shared/. ./Sledgemapper.Shared/ -COPY Sledgemapper/. ./Sledgemapper/ -WORKDIR /src/Sledgemapper +#COPY Sledgemapper/. ./Sledgemapper/ +#WORKDIR /src/Sledgemapper -COPY build.sh . +#COPY build.sh . -RUN chmod +x build.sh -RUN sh build.sh +#RUN chmod +x build.sh +#RUN sh build.sh WORKDIR /src/Sledgemapper.Api RUN dotnet publish -c release -o /app --no-restore