示例#1
0
 public static FibContainerBuilder From(string baseImageReference, Credential credential)
 {
     if (credential == null || string.IsNullOrEmpty(credential.UserName) || string.IsNullOrEmpty(credential.Password))
     {
         return(From(baseImageReference));
     }
     return(From(RegistryImage.Named(baseImageReference).AddCredential(credential.UserName, credential.Password)));
 }
示例#2
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);
        }
示例#3
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();
        }
示例#4
0
 /**
  * Starts building the container from a base image.
  *
  * @param registryImage the {@link RegistryImage} that defines base container registry and
  *     credentials
  * @return a new {@link FibContainerBuilder} to continue building the container
  */
 public static FibContainerBuilder From(RegistryImage registryImage)
 {
     return(new FibContainerBuilder(registryImage));
 }
示例#5
0
 /**
  * Starts building the container from a base image. The base image should be publicly-available.
  * For a base image that requires credentials, use {@link #from(RegistryImage)}.
  *
  * @param baseImageReference the base image reference
  * @return a new {@link FibContainerBuilder} to continue building the container
  */
 public static FibContainerBuilder From(ImageReference baseImageReference)
 {
     return(From(RegistryImage.Named(baseImageReference)));
 }
示例#6
0
 /** Instantiate with {@link Fib#from}. */
 public FibContainerBuilder(RegistryImage baseImage) :
     this(baseImage, BuildConfiguration.CreateBuilder())
 {
 }