public static void DockerPullImage(this ICakeContext context, DockerImage dockerImage) { var tag = $"{dockerImage.DockerImageName()}:{dockerImage.Distro}-sdk-{dockerImage.TargetFramework}"; var platform = $"linux/{dockerImage.Architecture.ToString().ToLower()}"; context.DockerPull(new DockerImagePullSettings { Platform = platform }, tag); }
private static IEnumerable <string> GetDockerTags(this BuildContextBase context, DockerImage dockerImage, Architecture?arch = null) { var name = dockerImage.DockerImageName(); var distro = dockerImage.Distro; var targetFramework = dockerImage.TargetFramework; if (context.Version == null) { return(Enumerable.Empty <string>()); } var tags = new List <string> { $"{name}:{context.Version.Version}-{distro}-{targetFramework}", $"{name}:{context.Version.SemVersion}-{distro}-{targetFramework}", }; if (distro == Constants.DockerDistroLatest && targetFramework == Constants.Version50) { tags.AddRange(new[] { $"{name}:{context.Version.Version}", $"{name}:{context.Version.SemVersion}", $"{name}:{context.Version.Version}-{distro}", $"{name}:{context.Version.SemVersion}-{distro}" }); if (context.IsStableRelease) { tags.AddRange(new[] { $"{name}:latest", $"{name}:latest-{targetFramework}", $"{name}:latest-{distro}", $"{name}:latest-{distro}-{targetFramework}", }); } } if (!arch.HasValue) { return(tags.Distinct()); } var suffix = arch.Value.ToSuffix(); return(tags.Select(x => $"{x}-{suffix}").Distinct()); }
public static void DockerTestArtifact(this BuildContextBase context, DockerImage dockerImage, string cmd) { var tag = $"{dockerImage.DockerImageName()}:{dockerImage.Distro}-sdk-{dockerImage.TargetFramework}"; context.DockerTestRun(tag, dockerImage.Architecture, "sh", cmd); }