Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

The Ultimate DevOps Tools Ecosystem Tutorial, Part III: Developing

DZone's Guide to

The Ultimate DevOps Tools Ecosystem Tutorial, Part III: Developing

Developing is the stage where the ideas from planning are executed into code, or in other words, the ideas come to life as a product.

· DevOps Zone
Free Resource

“Automated Testing: The Glue That Holds DevOps Together” to learn about the key role automated testing plays in a DevOps workflow, brought to you in partnership with Sauce Labs.

Welcome to Part III of our “Ultimate DevOps Tools Ecosystem Tutorial.” In Part I, we introduced the DevOps work cycle. You can see the complete infographic here:

 

In Part II, we covered main tools from the “plan” stage. This time, we will go over tools from the “develop” stage. 

Developing is the stage where the ideas from planning are executed into code, or in other words, the ideas come to life as a product. This stage requires software configuration management, repository management, and build tools, as well as automated Continuous Integration (CI) tools for incorporating this stage with the following ones.

Here are some of the top tools for the development stage. 

Version Control System Management: BitBucket and GitHub

Version control systems let you host your code, share it with other developers, and collaborate on them. BitBucket and GitHub are two of the most popular version control system management services. Both were launched in 2008, while Bitbucket was acquired by Atlassian in 2010.

Which one should you choose? That depends on your needs. The main differences are that GitHub is open-source friendly, as it enables an unlimited number of collaborators for public repositories. However, if you need private repositories, BitBucket offers them for free for up to five collaborators. GitHub also supports only Git revision control, while BitBucket supports Git and Mercurial. Git, however, is usually enough for developers.

bitbucketBitbucket GUI (source). 

Package Management: NPM 

Package management enables developers to reuse and share code through repositories, which store “packages.” Packages are files or directories that are grouped together to provide a service or functionality. We recommend using NPM, which is a Node.JS package manager. Founded in 2014, NPM is an open-source product.

  • Pros: Most packages in one place; easy to use.

  • Cons: Requires all packages to be on the NPM website. 

We also recommend using Yarn, which is faster.

Continuous Integration: Jenkins

Jenkins is an open-source Continuous Integration tool that enables developers to automate their tests every time they commit a new build.

  • Pros: Open-source; easy to get started with; runs tests in parallel; integrates with many tools, including JMeter and Taurus.

  • Cons: Plain UI.

jenkins

Webpack 

In addition to these tools, we also recommend using webpack. Webpack is a build tool for managing your modules and deciding how all of your assets are processed in your final code bundle. 

  • Pros: Supports modules from different syntaxes, which enables running server modules on the client; compresses the code after the build, which saves resources.

  • Cons: Not user-friendly.

Next time we will go over our favorite stage: testing. So stay tuned!

Learn about the importance of automated testing as part of a healthy DevOps practice, brought to you in partnership with Sauce Labs.

Topics:
devops ,devops ecosystem ,software development tools ,development stage

Published at DZone with permission of Noga Cohen, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}