[
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]