[ 
https://issues.apache.org/jira/browse/OFBIZ-12757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17695249#comment-17695249
 ] 

Daniel Watford commented on OFBIZ-12757:
----------------------------------------

Container images for the experimental-docker branch are now built using GitHub 
Actions and pushed to ghcr.io.

Images are created following pushing of commits and release tags to the 
experimental-docker branch. The GH Actions workflow will need to be amended to 
select other branches if we merge these changes to trunk and/or release22.01 in 
the future.

The nightly script which manages the docker-compose applications for exp1 and 
exp2 on the demo VM has been amended to pull pre-built container images rather 
than building new container images.

Some items to discuss will be the naming and tagging of OFBiz container images.

Other experimental work will be to include plugins in container images.

> Experiment with deploying OFBiz containers to the demo sites server
> -------------------------------------------------------------------
>
>                 Key: OFBIZ-12757
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-12757
>             Project: OFBiz
>          Issue Type: New Feature
>          Components: Demo
>    Affects Versions: Upcoming Branch
>            Reporter: Daniel Watford
>            Assignee: Daniel Watford
>            Priority: Trivial
>
> This ticket has been created to track and report on progress with deploying 
> OFBiz to the demo server (ofbiz-vm1.apache.org) using docker containers.
> The rest of this ticket's description is an excerpt from a message sent to 
> the PMC requesting server access and describing the intention behind the 
> request. It is included here are it gives an overview of the experiment:
>  
> ... I would like to explore the configuration of the VM and experiment with 
> hosting an instance of OFBiz in a docker container.
>  
> If experimentation with container based deployments of OFBiz demo sites is 
> successful, I believe the project could leverage such deployments in future 
> to avoid issues around the installed JDK version not being compatible with 
> all current demo sites.
> h1. Proposed approach:
>  * Create a branch in the ofbiz-framework repository from trunk where 
> Dockerfiles and other changes to the build process needed to produce Docker 
> containers for demo sites can be implemented.
>  * Create one or more CNAME DNS entries, pointing to 
> [ofbiz-vm1.apache.org|http://ofbiz-vm1.apache.org/], which can be used to 
> access any experimental container-based demo site instances.
>  * Deploy Traefik as a reverse proxy to access the experimental demo sites, 
> assuming this approach does not conflict with any reverse proxy solution 
> already in place on the VM - hence the need to gain access and explore the 
> current server configuration.
>  * Create build configuration(s) for the new branch to build the 
> ofbiz-framework as a container image with pre-loaded demo data, and push the 
> container image to an appropriate container repository.
>  * Implement scripts at the VM to pull and deploy the latest version of the 
> demo container image daily.
> h1. Items to explore/resolve:
> h2. How should we build container images? 
> We should be able to use either BuildBot or GitHub Actions for this. I assume 
> BuildBot is preferred since we already have builds running in that service 
> and it is managed directly by the ASF.
> h2. Where should we store built container images? 
> Infra have advised (via Slack) that the ASF has a space within Docker Hub and 
> also has an Artifactory instance ([apache.jfrog.io|http://apache.jfrog.io/]). 
> It looks like we are free to use either to host container images. I imagine 
> we would want to use whichever service helps us manage the lifecycle of 
> container images (e.g. expire older images).
> h2. How to create DNS entries?
> I imagine Infra will advise.
> h1. Expected benefits if experiment is successful:
>  * All dependencies used by OFBiz, including the JDK, are packaged in the 
> container image. We should be able to deploy different instances of OFBiz on 
> the same VM without fear of JDK version clash.
>  * Act as a catalyst to help the project settle on an approach to 
> containerisation and further alter OFBiz to better support container 
> deployments.
>  * Provide an alternative deployment option for users to deploy and evaluate 
> OFBiz.
>  * Help committers test PRs:
>  ** I often test PRs by creating a trunk container image with demo data 
> loaded. From this I then create a second image, specific to the PR under 
> test, which is fast to build and load since the bulk of computation and data 
> processing has already been handled in the base image. Once testing is 
> complete I throw away the second image and can quickly resume work from the 
> base image.
> h1. Future work if experiment is successful:
>  * Incorporate container build scripts into trunk.
>  * Build versions of the OFBiz demo container that include plugins.
>  * Start using containers for demo site deployments.
>  * Promote containers as a supported deployment mechanism:
>  ** Develop guidance for connecting OFBiz containers with external databases.
>  ** See this GitHub repository for a setup of OFBiz with PostgreSQL: 
> [danwatford/docker-postgres-ofbiz 
> (github.com)|https://github.com/danwatford/docker-postgres-ofbiz]
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to