Codemagic is a developer's CI/CD tool for mobile app projects. Build Android, iOS, React Native, Ionic, Unity, and Flutter projects on Codemagic. Codemagic uses its own CLI tools under the hood to perform complicated tasks like code signing and distribution to the stores. These are open-sourced and available on Github. Codemagic offers pay as you go pricing for teams as well as an all-inclusive option with an unlimited plan (called the professional plan). Codemagic is used…
$0
GoCD
Score 8.0 out of 10
N/A
GoCD, from ThoughtWorks in Chicago, is an application lifecycle management and development tool.
N/A
Pricing
Codemagic
GoCD
Editions & Modules
Linux Standard VM
$0.015 / minute
macOS Standard VM
$0.038 / minute
Linux Preium VM
$0.045 / minute
Windows Premium VM
$0.045 / minute
macOS premium VM
$0.095 / minute
No answers on this topic
Offerings
Pricing Offerings
Codemagic
GoCD
Free Trial
No
No
Free/Freemium Version
Yes
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
Optional
No setup fee
Additional Details
Professional plans available for $299/month. Perfect for teams who need fixed costs.
This includes:
Unlimited premium macOS VM minutes
Unlimited premium Linux VM minutes
Unlimited premium Windows VM minutes
Teams with unlimited users
3 concurrent builds
In-app support
For companies currently investing in Flutter app deployment, the CD/CI automation that Codemagic brings to the table is a game-changer. Its decision-making process needs to consider all the architecture in place and in a common scenario with other programming frameworks, the initial investments can seem high. In this sense, Flutter will reduce programming staff needs as you can attack multiple target environments and platforms easily, and at the same time the effort to get it working on app stores is now improved thanks to the focus Codemagic gave to support the FLutter community in targeting this solution to ease the process. If you invest in Flutter, you have to invest in Codemagic.
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.
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.
I have used the Slack channel without any problems, and I have gained a lot of feedback from using this tool. I have also been invited to provide reviews for the app before but in an "informal" manner, and using their own channels via Slack.
The steps to get Codemagic up and running are nothing compared to implementing a Jira solution and after using the CI/CD options it has enabled. For larger organizations that already have Jira, you might gain in the long run from features like automatic issue tracking and focused CI to remediate and test the apps. But if you are looking for true AGILE development, where you have teams that focus on value and need the CD process done easily, then Codemagic is a much better solution for emerging projects and companies to start.
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.
Settings.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 pipelines
More straight forward use of API and allows filtering e.g., pull all pipelines triggered after this date