Need advice about which tool to choose?Ask the StackShare community!
CircleCI vs IntelliJ IDEA: What are the differences?
Developers describe CircleCI as "Automate your development process quickly, safely, and at scale". Continuous integration and delivery platform helps software teams rapidly release code with confidence by automating the build, test, and deploy process. Offers a modern software development platform that lets teams ramp. On the other hand, IntelliJ IDEA is detailed as "Capable and Ergonomic IDE for JVM". Out of the box, IntelliJ IDEA provides a comprehensive feature set including tools and integrations with the most important modern technologies and frameworks for enterprise and web development with Java, Scala, Groovy and other languages.
CircleCI can be classified as a tool in the "Continuous Integration" category, while IntelliJ IDEA is grouped under "Integrated Development Environment".
Some of the features offered by CircleCI are:
- Language-Inclusive Support
- Custom Environments
- Flexible Resource Allocation
On the other hand, IntelliJ IDEA provides the following key features:
- Smart Code Completion
- On-the-fly Code Analysis
- Advanced Refactorings
"Github integration", "Easy setup" and "Fast builds" are the key factors why developers consider CircleCI; whereas "Fantastically intelligent", "Best-in-class ide" and "Many languages support" are the primary reasons why IntelliJ IDEA is favored.
Asana, Square, and Intuit are some of the popular companies that use IntelliJ IDEA, whereas CircleCI is used by 9GAG, CircleCI, and Coinbase. IntelliJ IDEA has a broader approval, being mentioned in 805 company stacks & 1028 developers stacks; compared to CircleCI, which is listed in 925 company stacks and 372 developer stacks.
UPDATE: Thanks for the great response. I am going to start with VSCode based on the open source and free version that will allow me to grow into other languages, but not cost me a license ..yet.
I have been working with software development for 12 years, but I am just beginning my journey to learn to code. I am starting with Python following the suggestion of some of my coworkers. They are split between Eclipse and IntelliJ IDEA for IDEs that they use and PyCharm is new to me. Which IDE would you suggest for a beginner that will allow expansion to Java, JavaScript, and eventually AngularJS and possibly mobile applications?
Pycharm is great for python development, but can feel sometimes slow and community version has Somme very annoying restrictions (like they disabled jupyter notebooks plugin and made it premium feature). I personally started looking into VS Code as an alternative, and it has some very good potential. I suggest you take it into account.
The Community version of PyCharm is free and should give you what you need to get started with Python. Both PyCharm and IntelliJ are made by JetBrains. IntelliJ is initially focused on Java but you can get plugins for lots of other things. I subscribe to JetBrains' Toolbox: https://www.jetbrains.com/toolbox-app/ and have access to all of their great tools.
Hi, I will give my opinion based on my experience. I have used PyCharm, both community and Professional version. The community has limited functions, like you can't use a Jupyter notebook whereas it's available in the Professional version. PyCharm is slower compared to Visual Studio Code. Also Visual Studio Code is an editor which supports various languages. I myself have used both Visual Studio Code and PyCharm. I feel Visual Studio Code would be better choice. You may as well decide based upon your requirements.
I couldn't imagine using a development tool other than the IntelliJ IDEA Ultimate All Products Pack. A single license allows me to work directly on my server running Ubuntu and/or my workstation running Windows 10 Pro simultaneously. My current project uses HTML, W3CSS, JavaScript, Java, Groovy, Grails, C, GO, Python, Flask, and Rust. For me it's worth every penny of the $150 license fee. And you can try it for free.
I'd personally recommend Visual Studio Code as it gives you the flexibility of working in any language, so long as there are extensions to support it. It gives you the flexibility to learn Python, venture into Java, Javascript, and eventually AngularJS, and potentially mobile applications. It's also free and you can install it on your personal computer. I think Visual Studio Code would serve your intended use case best.
Visual Studio code is easy to use, has a good UI, and a large community. Python works great with it, but unlike some other editors, it works with most languages either by default or by downloading a plugin. VS Code has built in linting, syntax coloring, autocompletes (IntelliSense), and an api for plugins to do there own tooling.
IntelliJ really is the best for Java, I switched from eclipse years ago and never looked back. As for javascript, python and angular either using the standalone products from jetbrains (pycharm for python, webstorm for js) or installing the relevant plugins for InteliJ will be your best bet. Pycharm etc. are really just InteliJ with some additional plugins installed.
If you starting with Python then PyCharm is better. For Java I would suggest to go with IntelliJ IDEA but people also prefer eclipse so I would say try both and then decide. For JS/Angular/React I would suggest go with VSCode. I personally use it and prefer as its light weight and have good integration with chrome for frontend development.
PyCharm, IntelliJ IDEA are both products of JetBrains. They have a free (limited feature) and paid edition. Eclipse is free. VSCode is also free.
This is a very easy to use tool and gives you the opportunity to start coding right after the installation with almost everything setup automatically by the tool.
Pycharm is all you need to get start coding in python or any of its framework. Its an awesome tool you should give it a try :)
Easy to learn and everything you need
All three are great, however, I believe that IntelliJ IDEA's multiple IDE's are slightly more straight-forward and more up-to date than Eclipse. If I had to choose one specifically for Python projects I would go with PyCharm.
We are a mid-size startup running Scala apps. Moving from Jenkins/EC2 to Spinnaker/EKS and looking for a tool to cover our CI/CD needs. Our code lives on GitHub, artifacts in nexus, images in ECR.
Drone is out, GitHub actions are being considered along with Circle CI and GitLab CI.
We primarily need:
- Fast SBT builds (caching)
- Low maintenance overhead (ideally serverless)
- Everything as code
- Ease of use
I think I've tried most of the CI tools out there at some point. It took me a while to get around to Buildkite because at first I didn't see much point given it seemed like you had to run the agent yourself. Eventually it dawned on me why this approach was more ingenious than I realised:
Running my app in a production (or production-like) environment was already a solved problem, because everything was already in some form of "everything as code". Having a test environment where the only difference was adding the Buildkite agent was a trivial addition.
It means that dev/test/prod parity is simple to achieve and maintain. It's also proven to be much easier to support than trying to deal with the problems that come with trying to force an app to fit into the nuances and constraints that are imposed by the containers/runtime of a CI service. When you completely control all of the environment the tests are running in you define those constraints too. It's been a great balance between a managed service and the flexibility of running it yourself.
And while none of my needs have hit the scale of Shopify (I saw one of their engineers speak about it at a conference once, I can't find the video now though 😞) it's good to know I can scale out my worker nodes to hundreds of thousands of workers to reduce the time it takes for my tests to run.
I would recommend you to consider the JFrog Platform that includes JFrog Pipelines - it will allow you to manage the full artifact life cycle for your sbt, docker and other technologies, and automate all of your CI and CD using cloud native declarative yaml pipelines. Will integrate smoothly with all your other toolset.
more configurable to setup ci/cd: * It can provide caching when build sbt, just add this section to yml file * Easy to use, many documentation
Weakness: * Need use gitlab as repository to bring more powerful configuration
From a StackShare Community member: "Currently we use Travis CI and have optimized it as much as we can so our builds are fairly quick. Our boss is all about redundancy so we are looking for another solution to fall back on in case Travis goes down and/or jacks prices way up (they were recently acquired). Could someone recommend which CI we should go with and if they have time, an explanation of how they're different?"
We use CircleCI because of the better value it provides in its plans. I'm sure we could have used Travis just as easily but we found CircleCI's pricing to be more reasonable. In the two years since we signed up, the service has improved. CircleCI is always innovating and iterating on their platform. We have been very satisfied.
As the maintainer of the Karate DSL open-source project - I found Travis CI very easy to integrate into the GitHub workflow and it has been steady sailing for more than 2 years now ! It works well for Java / Apache Maven projects and we were able to configure it to use the latest Oracle JDK as per our needs. Thanks to the Travis CI team for this service to the open-source community !
I use Google Cloud Build because it's my first foray into the CICD world(loving it so far), and I wanted to work with something GCP native to avoid giving permissions to other SaaS tools like CircleCI and Travis CI.
I really like it because it's free for the first 120 minutes, and it's one of the few CICD tools that enterprises are open to using since it's contained within GCP.
One of the unique things is that it has the Kaniko cache, which speeds up builds by creating intermediate layers within the docker image vs. pushing the full thing from the start. Helpful when you're installing just a few additional dependencies.
Feel free to checkout an example: Cloudbuild Example
I use Travis CI because of various reasons - 1. Cloud based system so no dedicated server required, and you do not need to administrate it. 2. Easy YAML configuration. 3. Supports Major Programming Languages. 4. Support of build matrix 6. Supports AWS, Azure, Docker, Heroku, Google Cloud, Github Pages, PyPi and lot more. 7. Slack Notifications.
You are probably looking at another hosted solution: Jenkins is a good tool but it way too work intensive to be used as just a backup solution.
I have good experience with Circle-CI, Codeship, Drone.io and Travis (as well as problematic experiences with all of them), but my go-to tool is Gitlab CI: simple, powerful and if you have problems with their limitations or pricing, you can always install runners somewhere and use Gitlab just for scheduling and management. Even if you don't host your git repository at Gitlab, you can have Gitlab pull changes automatically from wherever you repo lives.
If you are considering Jenkins I would recommend at least checking out Buildkite. The agents are self-hosted (like Jenkins) but the interface is hosted for you. It meshes up some of the things I like about hosted services (pipeline definitions in YAML, managed interface and authentication) with things I like about Jenkins (local customizable agent images, secrets only on own instances, custom agent level scripts, sizing instances to your needs).
Lightweight and versatile. Huge library of extensions that enable you to integrate a host of services to your development environment. VS Code's biggest strength is its library of extensions which enables it to directly compete with every single major IDE for almost all major programming languages.
I originally chose IntelliJ over Eclipse, as it was close enough to the look and feel of Visual Studio and we do go back and forth between the two. We really begin to love IntelliJ and their suite of IDEs so we are now using AppCode for the IOS development because the workflow is identical with the IntelliJ. IntelliJ is super complex and intimidating at first but it does afford a lot of nice utilities to get us produce clean code.
My website is brand new and one of the few requirements of testings I had to implement was code coverage. Never though it was so hard to implement using a #docker container.
Given my lack of experience, every attempt I tried on making a simple code coverage test using the 4 combinations of #TravisCI, #CircleCi with #Coveralls, #Codecov I failed. The main problem was I was generating the .coverage
file within the docker container and couldn't access it with #TravisCi or #CircleCi, every attempt to solve this problem seems to be very hacky and this was not the kind of complexity I want to introduce to my newborn website.
This problem was solved using a specific action for #GitHubActions, it was a 3 line solution I had to put in my github workflow file and I was able to access the .coverage
file from my docker container and get the coverage report with #Codecov.
Buddy is one of the most easy-to-use tools for CI I ever met. When I needed to set up the pipeline I was really impressed with how easy it is to create it with Buddy with only a few moments. It's literally like: 1. Add repo 2. Click - Click - Click 3. You're done and your app is on prod :D The top feature that I've found is a simple integration with different notification channels - not only Slack (which is the one by default), but Telegram and Discord. The support is also neat - guys respond pretty quickly on even a small issue.
We were long time users of TravisCI, but switched to CircleCI because of the better user interface and pricing. Version 2.0 has had a couple of trips and hiccups; but overall we've been very happy with the continuous integration it provides. Continuous Integration is a must-have for building software, and CircleCI continues to surprise as they roll out ideas and features. It's leading the industry in terms of innovation and new ideas, and it's exciting to see what new things they keep rolling out.
Jenkins is a pretty flexible, complete tool. Especially I love the possibility to configure jobs as a code with Jenkins pipelines.
CircleCI is well suited for small projects where the main task is to run continuous integration as quickly as possible. Travis CI is recommended primarily for open-source projects that need to be tested in different environments.
And for something a bit larger I prefer to use Jenkins because it is possible to make serious system configuration thereby different plugins. In Jenkins, I can change almost anything. But if you want to start the CI chain as soon as possible, Jenkins may not be the right choice.
Pros of CircleCI
- Github integration226
- Easy setup177
- Fast builds153
- Competitively priced94
- Slack integration74
- Docker support55
- Awesome UI45
- Great customer support33
- Ios support18
- Hipchat integration14
- SSH debug access13
- Free for Open Source11
- Mobile support6
- Nodejs support5
- Bitbucket integration5
- YAML configuration5
- AWS CodeDeploy integration4
- Free for Github private repo3
- Great support3
- Clojurescript2
- Continuous Deployment2
- Parallelism2
- Clojure2
- OSX support2
- Simple, clean UI2
- Unstable1
- Ci1
- Favorite1
- Helpful documentation1
- Autoscaling1
- Extremely configurable1
- Works1
- Android support1
- Fair pricing1
- All inclusive testing1
- Japanese in rspec comment appears OK1
- Build PR Branch Only1
- So circular1
- Easy setup, easy to understand, fast and reliable1
- Parallel builds for slow test suites1
- Easy setup. 2.0 is fast!1
- Easy to deploy to private servers1
- Really easy to use1
- Stable0
Pros of IntelliJ IDEA
- Fantastically intelligent301
- Best-in-class ide242
- Many languages support190
- Java158
- Fast121
- Code analysis82
- Reliable79
- Out of the box integration with maven, git, svn76
- Plugin architecture64
- Integrated version control61
- Code refactoring support12
- Best java IDE11
- Local history7
- Code Completion6
- Kotlin6
- Integrated Database Navigator6
- Built-in terminal/run tools6
- All5
- Free for open-source development, students and teacher5
- Base for Android Studio5
- Free If you're a Student5
- ERD Diagrams4
- Free4
- Cross platform4
- IDE4
- Database/Code integration4
- Out Of The Box features3
- Column Selection Mode3
- Server and client-side debugger3
- More than enough languages for any developer3
- Typescript support3
- Multicursor support3
- Reformating Code3
- Intuitive3
- Command-line tools3
- Android Integration3
- Vim support3
- Special icons for most filetypes in project list3
- Supports many frameworks3
- Built-in web server3
- Live Templates3
- Scala support3
- Works fine with mac os catalina2
- A lot of plugin2
- Just works2
- Integrated Ssh/Ftp Managers2
- Full support2
- Task managers2
- Diff tools2
- File Watchers2
- Support for various package managers2
- Integrated Code Linting2
- Clean UI2
- Open source2
- So modernised2
- Efficient, one Stop solution2
Sign up to add or upvote prosMake informed product decisions
Cons of CircleCI
- Unstable12
- Scammy pricing structure6
- Aggressive Github permissions0
Cons of IntelliJ IDEA
- Large footprint required to really enjoy (mem/disc)20
- Very slow16
- Bad for beginners8
- UI is not intuitive7
- Not nearly as many tools to integrate as vs code5
- Constant reindexing5
- Needs a lot of CPU and RAM power4
- Built in terminal is slow3
- Doesn't work that well with windows 10 edu3
- Ruby is a plug in1
- Pesky warnings increase with every release1
- AAD0