Answers: <p>Add a config file with parameters used in install/run script. You can look at Harbor (<a href="https://github.com/goharbor/harbor" rel="nofollow noreferrer">Github</a>, <a href="https://goharbor.io/docs/1.10/install-config/download-installer/" rel="nofollow noreferrer">install docs</a>) as an example of doing just that (and they have a configuration migrator).</p>
  
Answers: CC BY-SA 4.0
Answers: 2020-05-06T11:37:51.687Z
Answers: 2020-05-06T11:37:51.687Z
Answers: 2020-06-18T08:28:10.803Z
Answers: chupasaurus
Body: <p>We want to create bundles of our applications in order to distribute to clients etc. An application can have more than one <strong>component</strong>. Ex: an application can have a spring server and a scheduler so in order to distribute this application both jars will have to be given to the client. </p>
  
  <p>We want to use Docker/Docker compose to accomplish this. Ex: we give a client a bundle containing a Docker compose file, and he/she just runs <code>docker-compose up</code> to start the application.</p>
  
  <p>We currently have a Jenkins pipeline that when run will produce a zip file containing <code>.tar</code> files of all the Docker images of the components. There will also be a <code>start.sh</code> (or <code>start.bat</code>) file that, when run, will load all the Docker images and run <code>docker-compose up</code>.</p>
  
  <p>Some of these components have properties that the client needs to configure according to their environment (ex: SCM URL). If the component is Spring/Java based, we would externally mount the application.properties file into the docker image in the <code>docker-compose.yml</code></p>
  
  <p>This all works, I just want to know if the current process we are using is compliant with industry standards or is there a better way of meeting the requirement? Any open source tools that would simplify the process?</p>
  
Tags: <docker><jenkins><jenkins-pipeline><docker-compose><continuous-delivery>
Title: Using DevOps pipelines to create distribution bundles of applications
UserDisplayName: user538578964
ThreadText: # Using DevOps pipelines to create distribution bundles of applications
  
  (Asked by: username_0 on 2020-05-06)
  
  We want to create bundles of our applications in order to distribute to clients etc. An application can have more than one **component**. Ex: an application can have a spring server and a scheduler so in order to distribute this application both jars will have to be given to the client.
  
  We want to use Docker/Docker compose to accomplish this. Ex: we give a client a bundle containing a Docker compose file, and he/she just runs `docker-compose up` to start the application.
  
  We currently have a Jenkins pipeline that when run will produce a zip file containing `.tar` files of all the Docker images of the components. There will also be a `start.sh` (or `start.bat`) file that, when run, will load all the Docker images and run `docker-compose up`.
  
  Some of these components have properties that the client needs to configure according to their environment (ex: SCM URL). If the component is Spring/Java based, we would externally mount the application.properties file into the docker image in the `docker-compose.yml`
  
  This all works, I just want to know if the current process we are using is compliant with industry standards or is there a better way of meeting the requirement? Any open source tools that would simplify the process?
  
  **Tags:** docker, jenkins, jenkins-pipeline, docker-compose, continuous-delivery
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-05-06. Score: 2
  
  Add a config file with parameters used in install/run script. You can look at Harbor ([Github](https://github.com/goharbor/harbor), [install docs](https://goharbor.io/docs/1.10/install-config/download-installer/)) as an example of doing just that (and they have a configuration migrator).
  
  
  ---
  
  