4 Reviews and Ratings
6 Reviews and Ratings
GNU Make is a great tool for simple builds where language-specific options are not available, or to provide shortcuts for common commands (e.g., "make build" as shorthand for "go build ..." with a bunch of flags). However, it is complementary to other build systems. It does not replace them, which is perhaps one of its greatest strengths as well (works with existing ecosystem instead of trying to do everything). GMU Make it simple to get started with, and the philosophy of understanding how sources map to outputs, as well as the dependency graph, are beneficial.Incentivized
Previously, our team used Jenkins. However, since it's a shared deployment resource we don't have admin access. We tried GoCD as it's open source and we really like. We set up our deployment pipeline to run whenever codes are merged to master, run the unit test and revert back if it doesn't pass. Once it's deployed to the staging environment, we can simply do 1-click to deploy the appropriate version to production. We use this to deploy to an on-prem server and also AWS. Some deployment pipelines use custom Powershell script for.Net application, some others use Bash script to execute the docker push and cloud formation template to build elastic beanstalk.Incentivized
Performance and accuracy of cross-module dependencies.Simple to write and easy to understand.Incentivized
Pipeline-as-Code works really well. All our pipelines are defined in yml files, which are checked into SCM.The ability to link multiple pipelines together is really cool. Later pipelines can declare a dependency to pick up the build artifacts of earlier ones.Agents definition is really great. We can define multiple different kinds of environments to best suit our diverse build systems.Incentivized
No dependency management tools (but there are no cross-platform tools of this type anyway)Tedious to do cross-compilation (Debug & Release builds, 32- and 64-bit builds, x86/ARM builds)Incentivized
UI can be improvedLocation for settings can be re-arrangedAPI for setting up pipelineIncentivized
In general, it is fair to say the support is sufficient although we do not deal with support directly. There are a lot of forum people chiming in with suggestions or recommendations of particular usage or issues we run into. Since it is open software, patch and fixes will be available from time to time. A lot of information is available in the web now for knowing GNU Make from learning, example, teaching, etc.Incentivized
I'm a full-stack developer that has used various build tools, including Maven, Gradle, and NPM/yarn. For our C projects, I also investigated CMake and Ninja, but they seemed more difficult to learn and more tedious to work with. GNU Make is a single binary that can be easily downloaded, even for Windows under MingW32, is straightforward to learn, and works pretty well despite its age.Incentivized
GoCD is easier to setup, but harder to customize at runtime. There's no way to trigger a pipeline with custom parameters. Jenkins is more flexible at runtime. You can define multiple user-provided parameters so when user needs to trigger a build, there's a form for him/her to input the parameters. Incentivized
Streamline the build based on a lot of existing component being done, reusable.Commonly understandable, therefore, rampup effort is small.Incentivized
ROI has been good since it's open sourceSettings.xml need to be backed up periodically. It contains all the settings for your pipelines! We accidentally deleted before and we have to restore and re-create several missing pipelinesMore straight forward use of API and allows filtering e.g., pull all pipelines triggered after this dateIncentivized