Changeset 1966 in ProjectBuilder for devel/pb-modules/lib
- Timestamp:
- Jun 11, 2015, 11:12:51 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb-modules/lib/ProjectBuilder/VE.pm
r1958 r1966 83 83 my ($vepath) = pb_conf_get("vepath"); 84 84 85 if ($vetype eq "docker") { 86 # Check acces to registry 87 ($dockerregistry) = pb_conf_get("dockerregistry"); 88 if ((defined $dockerregistry) && (defined $dockerregistry->{$ENV{'PBPROJ'}})) { 89 pb_ve_docker_registry($dockerregistry->{$ENV{'PBPROJ'}}); 90 } else { 91 die "When using docker you need to declare a dockerregistry parameter. Read the man page" 92 } 93 } 94 85 95 if (($vetype eq "chroot") || ($vetype eq "schroot") || ($vetype eq "docker")) { 86 96 … … 90 100 # We can probably only get those params now we have the distro context 91 101 my ($rbsb4pi,$rbspi,$vesnap,$oscodename,$osmindep,$verebuild,$rbsmirrorsrv) = pb_conf_get_if("rbsb4pi","rbspi","vesnap","oscodename","osmindep","verebuild","rbsmirrorsrv"); 92 if ($vetype eq "docker") {93 # Check acces to registry94 ($dockerregistry) = pb_conf_get("dockerregistry");95 if ((defined $dockerregistry) && (defined $dockerregistry->{$ENV{'PBPROJ'}})) {96 pb_ve_docker_registry($dockerregistry->{$ENV{'PBPROJ'}});97 } else {98 die "When using docker you need to declare a dockerregistry parameter. Read the man page"99 }100 }101 102 102 103 # Architecture consistency … … 128 129 if (((((defined $verebuild) && ($verebuild->{$ENV{'PBPROJ'}} =~ /true/i)) || ($pbforce == 0)) && ($vetype ne "docker")) 129 130 # For docker we may have a reference image that we'll use 130 || (($vetype eq "docker") && ($pbforce == 0) )) {131 || (($vetype eq "docker") && ($pbforce == 0) && ((not defined $pbimage) || ($pbimage eq "")))) { 131 132 132 133 my ($verpmtype,$vedebtype) = pb_conf_get("verpmtype","vedebtype"); … … 291 292 # step 0 : nothing at creation -> tag n-v-a (made below) 292 293 293 # Snaphot the VE to serve as an input for docker 294 pb_ve_snap($pbos,$root); 295 # Create the docker image from the previous bootstrap 296 # Need sudo to be able to create all files correctly 297 # TODO: check before that the image doesn't already exist in the docker registry 298 my $pbimage = "$docrepo:$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"; 299 pb_system("$sudocmd $cmd1 import - $pbimage < $root/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz"); 300 pb_system("$cmd1 push $pbimage"); 294 if ((not defined $pbimage) || ($pbimage eq "")) { 295 # Snaphot the VE to serve as an input for docker 296 pb_ve_snap($pbos,$root); 297 # Create the docker image from the previous bootstrap 298 # Need sudo to be able to create all files correctly 299 # TODO: check before that the image doesn't already exist in the docker registry 300 301 my $pbimage = "$docrepo:$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"; 302 pb_system("$sudocmd $cmd1 import - $pbimage < $root/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}.tar.gz"); 303 pb_system("$cmd1 push $pbimage"); 304 } else { 305 # If we pass a parameter to -i, this is the name of an existing upstream image for that distro-ver-arch 306 pb_system("$sudocmd $cmd1 tag $pbimage $docrepo:$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"); 307 } 301 308 } 302 309 … … 394 401 return($found); 395 402 } 403 396 404 sub pb_ve_get_type { 397 405
Note:
See TracChangeset
for help on using the changeset viewer.