[ 
https://issues.apache.org/jira/browse/SOLR-15335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-15335:
--------------------------------------
    Attachment: SOLR-15335.patch
        Status: Open  (was: Open)

I committed GPG support to the build system in SOLR-15361, and now with that in 
place several nocommits in the last patch can be resolved...

In this updated patch:
 * createDockerfileOfficial reads the same 'signing.gnupg.keyName' project 
property as the release signing tasks, and fails to generate a 
Dockerfile.official if it's not set.
 * fixed a small bug in both createDockerfile* task generation: they weren't 
correctly tracking their (final) output file (just their snippets)
 * testBuildDockerfileOfficial now depends on a (new) 
configurations.solrTgzSignature that is provided by :solr:packaging
 * I also switched anything in the docker build that was depending on 
configurations.solrArchives to a (new) configurations.solrTgz that is 
_explicitly_ provided by :solr:packaging – instead of the implicit 'archives' 
configuration
 ** 'archives' is apparently a "legacy" artifact type that is discouraged in 
current gradle versions – but specifically problematic for us is that it 
(evidently) includes all declared artifacts of the providing project 
(:solr:packaging in this case)
 ** which means as soon as i added the solrTgzSignature configuration/artifacts 
to :solr:packaging, simple docker tasks like 'dockerBuild' started to 
indirectly depend on signDistTar ... so users who wanted to just build a local 
docker image would get failures unless they had a GPG key defined in their 
gradle properties

...this new use of an explicitly declared configuration from :solr:packaging 
seems a lot cleaner and easier to read (i know until today i was really 
confused as to where/how 'archives' was defined) and as an added bonus docker 
users save a few seconds because they're no longer waiting for a solr.zip they 
don't care about to be built.

Also: now that we're depending on a configuration that provides a single 
solr.tgz file, and we don't need to make a "context dir" we should be able to 
simplify some other aspects of the build ... see new nocommits ... i'll work on 
that a bit and provide another patch soon

> templated (header + body) approach for building Dockerfile.local + 
> Dockerfile.official w/common guts
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-15335
>                 URL: https://issues.apache.org/jira/browse/SOLR-15335
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Chris M. Hostetter
>            Assignee: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-15335.patch, SOLR-15335.patch, SOLR-15335.patch, 
> SOLR-15335.patch, SOLR-15335.patch
>
>
> Goals:
>  * "generate" a Dockerfile.official at release time that will satisfy the 
> process/tooling of docker-library for 'official' docker images
>  ** use a templated approach to fill in things like version, sha512, and GPG 
> fingerprint
>  * ensure that the generated Dockerfile.official and the Dockerfile.local 
> included in solr.tgz are identical in terms of the "operational" aspects of a 
> Solr docker image (ie: what the disk layout looks like, and how it runs)
>  ** they should only differ in how they get the contents of a solr.tgz into 
> the docker image (and how much they trust it before unpacking it)
>  * minimize the amount of overhead needed to make changes that exist in in 
> both dockerfiles



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to