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
Copado
Score 9.2 out of 10
N/A
Copado is a Salesforce-native DevOps platform that helps teams deliver software faster, with less risk and more confidence.
N/A
Jenkins
Score 8.4 out of 10
N/A
Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.
N/A
Pricing
Codemagic
Copado
Jenkins
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
No answers on this topic
Offerings
Pricing Offerings
Codemagic
Copado
Jenkins
Free Trial
No
No
No
Free/Freemium Version
Yes
No
Yes
Premium Consulting/Integration Services
No
No
No
Entry-level Setup Fee
Optional
No setup fee
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.
When we have a large organization and number of changes and deployments are more than we should go for Copado. As we know it is a paid managed package and the cost is high so for dealing with fewer deployments it is not preferable to buy. Copado is well suited for users who don't have much technical understanding. So those users can see the User interface select the changes that need to be deployed by selecting the metadata. From Git operation to deployment all is handled by Copado itself. Copado has reduced the efforts for creating the package.xml and direct deployments can be done within a few clicks. Another Major aspect is that it can be directly synced with Jira or Azzure board from where the user stories will be synced and actions can be performed accordingly. For small organization, Copado can be expensive and to set up and maintain we need a technical person to do so.
Jenkins is a highly customizable CI/CD tool with excellent community support. One can use Jenkins to build and deploy monolith services to microservices with ease. It can handle multiple "builds" per agent simultaneously, but the process can be resource hungry, and you need some impressive specs server for that. With Jenkins, you can automate almost any task. Also, as it is an open source, we can save a load of money by not spending on enterprise CI/CD tools.
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
We have a certain buy-in as we have made a lot of integrations and useful tools around jenkins, so it would cost us quite some time to change to another tool. Besides that, it is very versatile, and once you have things set up, it feels unnecessary to change tool. It is also a plus that it is open source.
very good user interface. It has reduced tons of manual efforts for the developers. Very easy to validate the release work. Easy to club multiple stories into one deployment. We can integrate Copado with our JIRA and all the PR’s are visible under the user story on JIRA board. But this can be overwhelming for beginners
Jenkins streamlines development and provides end to end automated integration and deployment. It even supports Docker and Kubernetes using which container instances can be managed effectively. It is easy to add documentation and apply role based access to files and services using Jenkins giving full control to the users. Any deviation can be easily tracked using the audit logs.
No, when we integrated this with GitHub, it becomes more easy and smart to manage and control our workforce. Our distributed workforce is now streamlined to a single bucket. All of our codes and production outputs are now automatically synced with all the workers. There are many cases when our in-house team makes changes in the release, our remote workers make another release with other environment variables. So it is better to get all of the work in control.
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.
As with all open source solutions, the support can be minimal and the information that you can find online can at times be misleading. Support may be one of the only real downsides to the overall software package. The user community can be helpful and is needed as the product is not the most user-friendly thing we have used.
It is worth well the time to setup Jenkins in a docker container. It is also well worth to take the time to move any "Jenkins configuration" into Jenkinsfiles and not take shortcuts.
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.
There are tools such as ANT migration tool or using sfdx but Copado makes the deployments super simple. If a user is not that technically strong still he can use Copado and deploy the changes in a few clicks. Copado provides a complete package of maintaining the development and repositories in a common platform. There are pipelines that you can set that changes will move from which org to the final org in a very organized manner. We can perform static code analysis at the time of deployment of the changes and we have to clear those if we need to deploy the changes. Creating pull requests is super easy and can be managed by Copado itself. Overall a superb managed package for deployment in Salesforce.
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/GitLab/Azure) provide other options but can obfuscate the process due to the lack of straightforward simplicity. In other areas (capability, power, customization), Jenkins keeps up with the competition and, in some areas, like customization, exceeds others.
It has reduced the efforts to create package.xml manually and deploy the changes
Another positive impact is that we can track the commits to which org they have reached in an organized way and we don't need to maintain them separately
For setting Copado it take a lot of time and training is required for the complete setup which is time-consuming