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
Portainer
Score 9.0 out of 10
N/A
Portainer is a centralized container management platform for containerized apps and IoT device management. It helps accelerate container adoption and reduce time-to-value on Kubernetes, Docker, and Swarm with a management portal, allowing users to deliver and manage containerized applications from the data center to the edge. Portainer helps - Reduce the operational complexity associated with multi-cluster management Bridge the skills gap and facilitate feature…
Azure and AWS have their own issues, especially around complexity just to setup one thing that Portainer can do in 10 seconds. Octopus Deploy has excellent logs, analytics and dashboard views - but the configuration is more of a hassle than Portainer. Overall for the projects …
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.
Many developers, especially lesser experienced developers, don't have a really good background in setting up containers from the command line. Portainer is invaluable to them. Giving a UI to them gives them much more confidence and allows them to learn properties and capabilities of containers under far less stress. On the flip side of this, giving then a UI on a production system can lead to chaos...never give junior developers access to production servers.
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.
Separating server maintenance with application development, providing a clear user interface for developers who don't want to worry about the underlying server.
RBAC for container deployment linked to a SAML IDP, not something particularly easy in a native Docker instance but point and shoot in Portainer, allowing the use of Azure / Okta etc to provide user access.
Image management with multiple repositories is super clear and reduces incidents
When setting up static IPs for a new container, having the used ones for a specific network at hand would be cool or something like a mini IPAM of some sort...
Using the developertools to see "oh, it's a 40x or 500" when something doesn't seem to load because the ui just states "Didn't work" is kinda annoying. expandable toasts or something would be nice.
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.
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.
Accessibility for Non-Experts: even with some people having a bit longer on-boarding it is still very simple Quick setup is insanely useful, we can get it running in 10 seconds after installing docker Portainer has once again super clean UI and is very user friendly. Deployment/monitoring and management are super easy. I can tell just from a glance if something is out of date (watching at you Watchtower not doing your job for some reason)
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.
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.
One of their staff members jumped on a video call immediately with me and led me through the problem and solution during a quick session of screen sharing. In this day and age that is above and beyond, especially when it comes to software. It took approximately 5-10 minutes to diagnose and fix, including pleasantries!
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.
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.
Portainer takes the cup in terms of usability and features. It is also more useful for smaller deployments, whereas Kubernetes in our opinion and experience, could probably be more suited to certain other use cases. Portainer is also a fresh feel among all the preexisting container management solutions and brings positivity and a new breeze in the industry.
Increased productivity: Portainer's user-friendly interface and streamlined container management can help increase the productivity of IT teams.
Cost savings: By simplifying container management, Portainer can help reduce the time and resources required to manage container environments, potentially leading to cost savings.