Software packages and repositories is my first stop in automating the OS life cycle, the OS image including all software stacks, os, middleware, management, and application should represent a fixed state. that would difficult to track if installs were done ad-hoc outside of a packaging system. so for us we use mainly RHEL based distros. so you think the answer would be use yum, and rpms!!! well there are Java applications as jars. there are Ruby gems, there are python eggs, and there are git clones and tarballs. one answer is use fpm to convert from any format to rpm.
for Ruby Gems here is the simplest way to do it :
http://stackoverflow.com/questions/8411045/how-to-build-a-rubygems-mirror-server
- so one challenge is the diversity of packaging types and how to standardise on one.
- Second, comes the Internet isolation and state, at work we are not allowed downloads directly from the net.
for Ruby Gems here is the simplest way to do it :
http://stackoverflow.com/questions/8411045/how-to-build-a-rubygems-mirror-server
$ gem install rubygems-mirror
Edit the YAML configuration file ~/.gem/.mirrorrc
:
---
- from: http://rubygems.org
to: ~/.gem/mirror
the to: filed above can be better pointing to a usb storage, where ever it points at $ mkdir ~/.gem/mirror
Start mirroring:
$ gem mirror
Once mirroring finishes edit
~/.gem/mirror/config.ru
:require "rubygems"
require "geminabox"
Geminabox.data = "./"
run Geminabox
Install Gem in a box:
$ gem install geminabox
Start gem server:
$ cd ~/.gem/mirror
$ rackup
Edit your application's
Gemfile
to use your gem server:source "http://your.servers.ip:9292"