4

I'm starting up the DevOps initiative at my company and trying to decide what IDE and other development tooling to invest the team in for our various repositories.

Language wise we have a lot of Ruby and Groovy, but that's hardly the entire picture. We really don't even know fully yet all the systems we will be working with in the near future, and there are some DSLs in the mix:

  • Akamai DSL
  • CloudBees / Jenkins logic in Groovy and Jenkinsfile
  • Chef
  • Ansible, maybe
  • Docker, hopefully
  • One of several release automation products, not yet chosen
  • I would like to use ServerSpec or something like it
  • SaltStack DSL
  • Kubernetes DSL
  • And so on.

Are there any IDEs with plugins to make working with this stuff a little easier?

  • that understand the relationships between these entities
  • that can mock out DNS and network connections to make unit tests possible for these DSLs
  • that can validate DSL syntax or even detect certain logical errors considering multiple of these?

This reddit thread is very discouraging to me as it seems a lot of folks out there are using basic editors with syntax highlighting plugins, which I view as woefully inadequate.

3 Answers 3

6

I personally really like PyCharm (same guys who made IntelliJ and Android Studio).

I mostly use Ansible, Bash, and Python. Has good plugins + syntax highlighting for Bash (doesn't everything at this point?), and Ansible. Since it's a native Python IDE, it's also very convenient when writing or troubleshooting python scripts, especially since you don't even need to exit the IDE to run them.

It also has integrations through plugins:

Chef: https://plugins.jetbrains.com/plugin/7548-chef-integration

Ruby: https://plugins.jetbrains.com/plugin/1293-ruby

Both should in theory allow full IDE-like experience with both languages (i.e. resource completion, syntax highlighting, jumping to references, etc).

Really, you can't go wrong with anything by JetBrains if you choose to use any of their other IDEs like IntelliJ.

1
  • I like PyCharm also, however, the reason why I have chosen Atom is that PyCharm on a Mac seems like is eating lots of RAM
    – Sergiu
    Sep 28, 2017 at 14:40
4

At the moment I am using Atom which I think is a decent application that has wide support for all of the DSL's you've mentioned at the trade off of some speed.

1
  • You must not be doing any automated tests. An IDE is much more than a fancy text editor. You should learn one, it will make you much more productive.
    – wberry
    May 18, 2020 at 21:31
0

Answering my own question after our practice is well established. There seems to be no comprehensive "DevOps IDE" in today's market, because the ecosystem of languages is so huge and none of the IDEs do it all. So whatever you choose is only going to have partial coverage at enterprise scale with multiple teams using different tools.

We settled on IDEA because it covers Groovy and Spock very well and we spend more time on those than anything else. Some of the JetBrains IDEs have no free option, currently RubyMine and WebStorm do not. So for Chef cookbooks, web frontends and Node.js, it is necessary to either pay for seats or fall back to Eclipse.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.