コード例 #1
0
ファイル: TarImageTest.cs プロジェクト: ILMTitan/FibDotNet
        public void TestGetters()
        {
            TarImage tarImage = TarImage.Named("tar/image").SaveTo(Paths.Get("output/file"));

            Assert.AreEqual("tar/image", tarImage.GetImageReference().ToString());
            Assert.AreEqual(Paths.Get("output/file"), tarImage.GetOutputFile());
        }
コード例 #2
0
        public static async Task CreateImageAsync()
        {
            SystemPath root      = imageLocation.GetRoot().ToPath();
            SystemPath fileA     = Files.CreateFile(root.Resolve("fileA.txt"));
            SystemPath fileB     = Files.CreateFile(root.Resolve("fileB.txt"));
            SystemPath fileC     = Files.CreateFile(root.Resolve("fileC.txt"));
            SystemPath subdir    = Files.CreateDirectory(root.Resolve("dir"));
            SystemPath subsubdir = Files.CreateDirectory(subdir.Resolve("subdir"));

            Files.CreateFile(subdir.Resolve("fileD.txt"));
            Files.CreateFile(subsubdir.Resolve("fileE.txt"));

            imageTar = new FileInfo(Path.Combine(imageLocation.GetRoot().FullName, "image.tar"));
            Containerizer containerizer =
                Containerizer.To(TarImage.Named("fibdotnet-core/reproducible").SaveTo(imageTar.ToPath()));

            await FibContainerBuilder.FromScratch()
            .SetEntrypoint("echo", "Hello World")
            .AddLayer(ImmutableArray.Create(fileA), AbsoluteUnixPath.Get("/app"))
            // layer with out-of-order files
            .AddLayer(ImmutableArray.Create(fileC, fileB), "/app")
            .AddLayer(
                LayerConfiguration.CreateBuilder()
                .AddEntryRecursive(subdir, AbsoluteUnixPath.Get("/app"))
                .Build())
            .ContainerizeAsync(containerizer).ConfigureAwait(false);
        }
コード例 #3
0
ファイル: TarCommand.cs プロジェクト: ILMTitan/FibDotNet
 protected override IContainerizer CreateContainerizer(ImageReference imageReference)
 {
     if (!Path.IsPathRooted(OutputFile))
     {
         OutputFile = Path.Combine(Directory.GetCurrentDirectory(), OutputFile);
     }
     return(Containerizer.To(TarImage.Named(imageReference).SaveTo(OutputFile)));
 }
コード例 #4
0
        public void TestGetImageConfiguration_tarImage()
        {
            Containerizer containerizer =
                Containerizer.To(TarImage.Named("tar/image").SaveTo(Paths.Get("output/file")));

            ImageConfiguration imageConfiguration = containerizer.GetImageConfiguration();

            Assert.AreEqual("tar/image", imageConfiguration.GetImage().ToString());
            Assert.AreEqual(0, imageConfiguration.GetCredentialRetrievers().Length);
        }
コード例 #5
0
 private async Task <FibContainer> BuildTarImageAsync(
     ImageReference baseImage,
     ImageReference targetImage,
     SystemPath outputPath,
     List <string> additionalTags)
 {
     return(await BuildImageAsync(
                baseImage,
                Containerizer.To(TarImage.Named(targetImage).SaveTo(outputPath)),
                additionalTags).ConfigureAwait(false));
 }
コード例 #6
0
        public void TestTo()
        {
            RegistryImage     registryImage     = RegistryImage.Named(ImageReference.Of(null, "repository", null));
            DockerDaemonImage dockerDaemonImage =
                DockerDaemonImage.Named(ImageReference.Of(null, "repository", null));
            TarImage tarImage =
                TarImage.Named(ImageReference.Of(null, "repository", null)).SaveTo(Paths.Get("ignored"));

            VerifyTo(Containerizer.To(registryImage));
            VerifyTo(Containerizer.To(dockerDaemonImage));
            VerifyTo(Containerizer.To(tarImage));
        }
コード例 #7
0
        protected override IContainerizer CreateContainerizer(FibCliConfiguration configuration)
        {
            if (!Path.IsPathRooted(OutputFile))
            {
                OutputFile = Path.Combine(Directory.GetCurrentDirectory(), OutputFile);
            }
            var tarImage = TarImage.Named(configuration.GetTargetImageReference()).SaveTo(OutputFile);

            // if(configuration.TargetImageCredential!=null && !string.IsNullOrEmpty(configuration.TargetImageCredential.UserName)
            //                                              && !string.IsNullOrEmpty(configuration.TargetImageCredential.Password))
            // {
            //     tarImage.AddCredential(configuration.TargetImageCredential.UserName, configuration.TargetImageCredential.Password);
            // }
            return(Containerizer.To(tarImage));
        }