Exemplo n.º 1
0
 /// <inheritdoc/>
 public IEnumerable <V1Container> GetContainersFor(StepNumber number, ImprovementContext context)
 {
     return(new []   {
         new V1Container {
             Name = "dotnet-test",
             Image = "microsoft/dotnet:2.2-sdk-bionic",
             Command = new [] {
                 "/bin/bash", "-c",
                 "for TEST_PROJECT in ./Specifications/**/*.csproj; do dotnet test $TEST_PROJECT --no-build --configuration=Release --logger=\"trx;LogFileName=$TEST_PROJECT.trx\" --results-directory=/tests/ ; done"
             },
             WorkingDir = "/source/",
             VolumeMounts = new []   {
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "source",
                     MountPath = "/source/",
                 },
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "nuget",
                     MountPath = "/nuget/",
                 },
                 new V1VolumeMount {
                     Name = "azure",
                     SubPath = context.GetImprovementSubPath("tests"),
                     MountPath = "/tests/",
                 },
             },
         },
     });
 }
Exemplo n.º 2
0
 /// <inheritdoc/>
 public IEnumerable <V1Container> GetContainersFor(StepNumber number, ImprovementContext context)
 {
     return(new []   {
         new V1Container {
             Name = "dotnet-package",
             Image = "microsoft/dotnet:2.2-sdk-bionic",
             WorkingDir = "/source/",
             Command = new [] {
                 "/usr/bin/dotnet", "pack",
                 "--no-build",
                 "--packages=/nuget/",
                 "--configuration=Release",
                 "--output=/output/",
                 "--include-symbols",
                 "--include-source",
                 $"-p:PackageVersion={context.Version}"
             },
             VolumeMounts = new []   {
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "source",
                     MountPath = "/source/",
                 },
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "nuget",
                     MountPath = "/nuget/",
                 },
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "output",
                     MountPath = "/output/",
                 },
             },
         },
         new V1Container {
             Name = "move-symbols-nupkg",
             Image = "alpine:3.9",
             WorkingDir = "/output/",
             Command = new [] { "/bin/sh", "-c", "for NUPKG in *.symbols.nupkg; do cp $NUPKG /publish/${NUPKG/.symbols/} ; mv $NUPKG /nuget/${NUPKG/.symbols/} ; done" },
             VolumeMounts = new []   {
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "output",
                     MountPath = "/output/",
                 },
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "publish",
                     MountPath = "/publish/",
                 },
                 new V1VolumeMount {
                     Name = "azure",
                     SubPath = context.GetImprovementSubPath("nuget"),
                     MountPath = "/nuget/",
                 },
             },
         },
         new V1Container {
             Name = "nuget-push",
             Image = "microsoft/dotnet:2.2-sdk-bionic",
             WorkingDir = "/publish/",
             Command = new [] {
                 "/usr/bin/dotnet", "nuget", "push", "./",
                 "--source=https://www.myget.org/F/dolittle/api/v2/package",
                 "--api-key=SECRET_HERE",
             },
             VolumeMounts = new []   {
                 new V1VolumeMount {
                     Name = "workdir",
                     SubPath = "publish",
                     MountPath = "/publish/",
                 },
             },
         },
     });
 }