6

This post is migrated from a reddit post. 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 for their build environment deps and build artifact management. Another wants to use docker 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?

1
  • What soft of software are they actually shipping (desktop? server software? their own SaaS service) and what language(s) is it written in?
    – simbo1905
    Dec 28, 2018 at 17:19

1 Answer 1

2

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 (as well as tests and deploys).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.