Exemplo n.º 1
0
        //public FibContainerBuilder AddImageCredential(Credential credential)
        //{
        //    credential = credential ?? throw new ArgumentNullException(nameof(credential));


        //}


        public FibContainerBuilder(RegistryImage baseImage, BuildConfiguration.Builder buildConfigurationBuilder)
        {
            baseImage = baseImage ?? throw new ArgumentNullException(nameof(baseImage));
            this.buildConfigurationBuilder = buildConfigurationBuilder ??
                                             throw new ArgumentNullException(nameof(buildConfigurationBuilder));

            ImageConfiguration imageConfiguration =
                ImageConfiguration.CreateBuilder(baseImage.GetImageReference())
                .SetCredentialRetrievers(baseImage.GetCredentialRetrievers())
                .Build();

            buildConfigurationBuilder.SetBaseImageConfiguration(imageConfiguration);
        }
Exemplo n.º 2
0
        /**
         * Gets a new {@link Containerizer} that containerizes to a container registry.
         *
         * @param registryImage the {@link RegistryImage} that defines target container registry and
         *     credentials
         * @return a new {@link Containerizer}
         */
        public static Containerizer To(RegistryImage registryImage)
        {
            registryImage = registryImage ?? throw new ArgumentNullException(nameof(registryImage));
            ImageConfiguration imageConfiguration =
                ImageConfiguration.CreateBuilder(registryImage.GetImageReference())
                .SetCredentialRetrievers(registryImage.GetCredentialRetrievers())
                .Build();

            return(new Containerizer(
                       DescriptionForDockerRegistry, imageConfiguration, StepsRunnerFactory, true));

            StepsRunner StepsRunnerFactory(BuildConfiguration buildConfiguration) =>
            StepsRunner.Begin(buildConfiguration)
            .RetrieveTargetRegistryCredentials()
            .AuthenticatePush()
            .PullBaseImage()
            .PullAndCacheBaseImageLayers()
            .PushBaseImageLayers()
            .BuildAndCacheApplicationLayers()
            .BuildImage()
            .PushContainerConfiguration()
            .PushApplicationLayers()
            .PushImage();
        }