Answers: <p>Docker is going to be far more well-known than Mock. I consistently see Docker used during build in companies that I work for. I think I have seen Mock before, but only because I am a Fedora user.</p>
  
  <p>However, Docker is not a build tool in of itself, so you can still use Mock inside a container. This is a great way to avoid the "snowflake" build server. By using Docker containers, your builds are consistent no matter what build tool you are using. You can standardise on Docker as a platform for builds, and leave developers to choose the best build tool (whether that's Mock or NPM).</p>
  
  <p>The only other suggestion I'd have is to run the builds on a CI server, and Docker makes this really easy.</p>
  
  <p>Here's <a href="https://amaysim.engineering/the-3-musketeers-how-make-docker-and-compose-enable-us-to-release-many-times-a-day-e92ca816ef17" rel="nofollow noreferrer">one example of a company using Docker for builds</a> (as well as tests and deploys).</p>
  
Answers: CC BY-SA 4.0
Answers: 2018-12-20T23:25:14.637Z
Answers: 2018-12-29T07:06:52.220Z
Answers: 2018-12-29T07:06:52.220Z
Answers: user2640621
Body: <p><strong>This post is migrated from a <a href="https://www.reddit.com/r/devops/comments/838qm0/build_desgin_docker_vs_fedoras_mock/" rel="noreferrer">reddit post</a>.  Parts in bold are to adopt it to SE's format.</strong></p>
  
  <p>I'm talking with companies to help streamline/combine their build process.  They must do it together and their current processes are scary.  We've convinced them to go with AWS/jenkins/bitbucket/artifactory.  </p>
  
  <p>Now one company wants to use <a href="https://github.com/rpm-software-management/mock/wiki" rel="noreferrer">fedora's mock</a> for their build environment deps <strong>and</strong> build artifact management.  Another wants to use <a href="https://www.docker.com/" rel="noreferrer">docker</a> for their build environment but <strong>does not</strong> have a build artifact solution yet.</p>
  
  <p>I suggested a combination of docker (for build env deps) and mock (for product related artifacts and deps) to both.  They scoffed at it.  BTW one of the products is a custom rhel .iso.</p>
  
  <ul>
  <li><p>What are the pros/cons for mock vs docker in the way the two companies are debating using them?   </p></li>
  <li><p>What about pros/cons for my proposal.. or if it is even a smart thing to do?</p></li>
  <li><p>Any other suggested tools/build flow that may work better?</p></li>
  </ul>
  
  <p><strong>Ultimately I am interested in what is the best practice/most adopted method for doing this (build env deps mgmt/product artifact dep mgmt) in the industry that will have continued support and advancements?</strong></p>
  
Comments: CC BY-SA 4.0
Comments: 2018-12-28T17:19:50.590Z
Comments: What soft of software are they actually shipping (desktop? server software? their own SaaS service) and what language(s) is it written in?
Comments: simbo1905
Tags: <docker><docker-compose><builds><dependency-management>
Title: Build Design - Docker vs Fedora's Mock
UserDisplayName: scott
ThreadText: # Build Design - Docker vs Fedora's Mock
  
  (Asked by: username_0 on 2018-03-09)
  
  **This post is migrated from a [reddit post](https://www.reddit.com/r/devops/comments/838qm0/build_desgin_docker_vs_fedoras_mock/). Parts in bold are to adopt it to SE's format.**
  
  I'm talking with companies to help streamline/combine their build process. They must do it together and their current processes are scary. We've convinced them to go with AWS/jenkins/bitbucket/artifactory.
  
  Now one company wants to use [fedora's mock](https://github.com/rpm-software-management/mock/wiki) for their build environment deps **and** build artifact management. Another wants to use [docker](https://www.docker.com/) for their build environment but **does not** have a build artifact solution yet.
  
  I suggested a combination of docker (for build env deps) and mock (for product related artifacts and deps) to both. They scoffed at it. BTW one of the products is a custom rhel .iso.
  
  * What are the pros/cons for mock vs docker in the way the two companies are debating using them?
  * What about pros/cons for my proposal.. or if it is even a smart thing to do?
  * Any other suggested tools/build flow that may work better?
  
  **Ultimately I am interested in what is the best practice/most adopted method for doing this (build env deps mgmt/product artifact dep mgmt) in the industry that will have continued support and advancements?**
  
  **Tags:** docker, docker-compose, builds, dependency-management
  
  > **Comments:**
  > **username_1**: What soft of software are they actually shipping (desktop? server software? their own SaaS service) and what language(s) is it written in?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2018-12-20. Score: 2 | Accepted answer
  
  Docker is going to be far more well-known than Mock. I consistently see Docker used during build in companies that I work for. I think I have seen Mock before, but only because I am a Fedora user.
  
  However, Docker is not a build tool in of itself, so you can still use Mock inside a container. This is a great way to avoid the "snowflake" build server. By using Docker containers, your builds are consistent no matter what build tool you are using. You can standardise on Docker as a platform for builds, and leave developers to choose the best build tool (whether that's Mock or NPM).
  
  The only other suggestion I'd have is to run the builds on a CI server, and Docker makes this really easy.
  
  Here's [one example of a company using Docker for builds](https://amaysim.engineering/the-3-musketeers-how-make-docker-and-compose-enable-us-to-release-many-times-a-day-e92ca816ef17) (as well as tests and deploys).
  
  
  ---
  
  