Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have a problem that our programmer uses Ubuntu to develop advanced php application (advanced because he installs many extensions/seperate databases/utilities) and the problem is that whenever he installs something new, we also have to install it on centos, and centos have very old repositories, and because of that there are times when we fail to install some of those features on centos server (because compiling is not always an option due to too many failed dependencies).

Is there a way to check/sync versions of utils between servers so that our programmer will only be able to use utils that are possible to install on centOS?

share|improve this question
2  
The repositories in CentOS aren't old, they are stable and predictable, and are kept up to date with security fixes. In my world, stability and robustness are more important then always having the latest features. Tracking the latest software versions introduces dependency problems which don't always have a clear benefit to the business. It's better to upgrade software per a business plan then at the whim of the upstream developers. –  Stefan Lasiewski Jul 15 at 16:59
    
Note that if desired, the RHEL/CentOS Software Collections ( SCL ) Repository provides and updated versions for certain packages like PHP, MySQL, Python. These are tested and stable. Also consider the (EPEL repo)[fedoraproject.org/wiki/EPEL]. Both of these are reasonable compromises between the stable (older) base packages and the desire to have newer software. –  Stefan Lasiewski Jul 15 at 17:18

1 Answer 1

up vote 4 down vote accepted

This is DevOps gone awry...

I would really insist that the developer use an environment that mirrors your production environment or intended target systems. CentOS/RHEL and Ubuntu have different priorities as Linux distributions, but the onus is on the developer to ensure compatibility of applications.

In order to make this easier, would it be possible for the developer to use a CentOS virtual machine or to perform their work in a test/dev environment within your infrastructure?

share|improve this answer
1  
Seriously, this. Your development environment should be as close to production as humanly possible. –  Christopher Karel Jul 15 at 16:39
1  
+1 I often hear that 'DevOps' mean that Operations should adopt more of a development mindset. But it's important to note that DevOps requires that developers adopt more of an operational mindset. Software must be developed and tested with the expectations that it will be deployed to production. Developers cannot throw their software over the fence and make it your problem. –  Stefan Lasiewski Jul 15 at 17:08
    
ok thanks for your answer, I think that will be easiest thing to do, to create an VM for him –  PartyPete Jul 18 at 7:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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