potiuk edited a comment on issue #4543: [AIRFLOW-3718] Multi-layered version of 
the docker image
URL: https://github.com/apache/airflow/pull/4543#issuecomment-455439058
 
 
   Hey @Fokko - I pushed all the changes. 
   
   Please let me know if you have more concerns about caching and invalidation 
proposed there.
   
   Additionally if you have a concern about semi-regularly building everything 
from the scratch, I have done a simple POC of slight improvement to this 
approach - to accommodate automated building and pushing not only the "latest" 
tag but also the tag/released/branch ones. With [advanced build settings of 
Dockerhub](https://docs.docker.com/docker-hub/builds/advanced/) we can very 
easily configure custom builds and have full control over caching and building 
images for both - tags and master 
   
   Here is the work-in-progress of the POC (I will be testing it today):
   
https://github.com/PolideaInternal/airflow/commit/16ffadaadf72eb598cb48de9c33168f804e38079
   
   It allows to build master-> airflow:latest images with incremental layers as 
described above, but then every time a new release is created - i.e. tag 
matching appropriate regex is pushed -  the whole image can be rebuilt from the 
scratch based on AIRFLOW_TAG custom build argument that you can pass. I put the 
AIRFLOW_TAG argument at the beginning of the Dockerfile which means that it 
will invalidate the whole cache and rebuild it from the scratch for every 
different TAG we build.
   
   This way you can actually re-test (automatically) if rebuilding of the whole 
image from the scratch stlil works when you do RC builds. Without any 
additional effort nor actions from release manager, it will all be automated. 
It's just the matter of defining appropriate regex rules that will mach the 
tags or branches you want to build and subscribing to notifications whether the 
build did not fail.
   
   It also allows to build anyone their own copy of Airflow image in their own 
Dockerhub based on their own branches - very useful for anyone who would make 
any changes to Dockerfile.
   
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to