0

I'm a relatively new IT Ops guy in a software (web) development company. Recently I deployed a virtual machine on OpenStack, because some developer needs it, and then I installed their application (written by our developers, not third party application) on that newly deployed server using Jenkins.

So basically, what I did was to install an application automatically on a server using Jenkins. This feels like installing a software on a Linux PC using a package manager like APT in Ubuntu, where everything is handled automatically by the package manager.

So, is the purpose of Jenkins to function like some automatic software installer? Is Jenkins essentially a package manager?

1
  • 1
    Jenkins can do many, many things. What exactly depends on what it is told to do. Somebody told it the steps needed to install their application, and you just executed those. Jan 28 at 9:03

3 Answers 3

0

Sorta, but the additional process it does is compilation of the source code (or linking to a jenkins agent that compiles the code). Then it can deploy the finished build to wherever you tell it. This could be just outputting the build to a network share, or it could be sending it to a virtual machine or docker container to run and test for bugs :D

0

No. A package manager is more than something that can just install software, otherwise a Makefile would also be a package manager. Package managers keep track of what software is currently installed on a system, what software is available to install on that system (usually from a remote repository of pre-compiled software), dependencies and other relationships between packages (e.g. deprecations, merges/splits, metapackages, etc.), which files are owned/provided by which packages, and so on.

0

You are really close, but there is so much more to Jenkins; my definition here...

Jenkins is a lot like a kind of web-based version of Make (but has nothing to do with the Gnu Make Project). Extremely versatile in its capabilities, Jenkins acts like a programmable robot that can perform a huge variety of tasks. A Jenkins job defines a set of steps to be automated. When you run a Jenkins job, each run is known as a build. Most users create a Continuous Integration/Continuous Delivery "pipeline" (a special kind of Jenkins job) that builds, packages, and/or deploys software. This automates what a human would do at the command line, doing steps such as checking out source code, compiling the code, running a script to package the code, and moving the code to a destination (such as a web server) to deploy the finished product. But you can use Jenkins to automate lots of other kinds of tasks, such as the scheduled tasks that run batch processes, for example. It can also act as a notification system that sends reports or results of Jenkins jobs. In a way, Jenkins also comprises a framework that, along with a huge community-driven selection of plugins, you can build automation for just about "anything" with.

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.