.war files packaged as RPM for JBOSS/Tomcat - best practices?
Hi,
I'm planing to package WAR files as RPMs. Current deployment process just doesn't work for us and my idea of fixing it would be to create a new Custom Channel in RHN Satellite and publish my WAR files through that Channel. Currently (as we are trying to win some time) I'm managing some config files through Satellite so configs are not a big problem. We don't keep them in WAR for many reasons but that's different story.
Anyway, has anyone packaged WAR as RPMs? Do you do hot deployment or do you force JBOSS/Tomcat to restart? Is that After RPM installation or as a part of it? What's your SPEC file looks like? Can I please see it as an example? Do you check in your SPEC for JBOSS/Java/Oracle client or just install WAR? Any stories to tell? Any major problems?
Should I consider something else?
I can build RPMs no problem but I'd like to hear what's the best way of doing this with WAR files and JBOSS (some Tomcats are still runnig here but they will be phased out soon-ish so I'm not too worried about them).
unzip -v gives CRC info of each file in a zip(in my case .EAR) file.
# unzip -v my-application.ear
Archive: my-application.ear
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
197981 Defl:N 183708 7%... (1 Reply)
dears
i am trying to install the autoconf-2.63-1.aix6.1.noarch.rpm but its shows the below error message .
P700_dev/svn/dependencies>rpm -i autoconf-2.63-1.aix6.1.noarch.rpm
error: failed dependencies:
m4 is needed by autoconf-2.63-1
P700_dev/svn/dependencies> (6 Replies)
Hi,
We have upgrade tomcat from 5.0.20 to 7.0.33 and made changes to server.xml file according to newer version.. how ever the upgrade went fine and now i am unable to deploy application remotely.. it is giving 403 access denied error.. we have seperate appbase directory mentioned in server.xml..... (0 Replies)
How to make RPM not write to RPM database if RPM fails to deploy?
IE I create an rpm spec file that contains the following
if
then
exit 1
fi
My rpm will fail at deployment, but if I do rpm -qa , I can see the rpm in the rpm db (3 Replies)
I was experimenting with ZoneMinder CCTV software on Suse 10.0. After some major configuartion problems, all caused by me I eventually decided on a complete clean re-install of Suse 10.
I downloaded the new opensuse 10.1 DVD with includes all 5 of the OpenSuse10.1 CDs and the Additional Addon... (2 Replies)
RPM2(3) User Contributed Perl Documentation RPM2(3)NAME
RPM2 - Perl bindings for the RPM Package Manager API
SYNOPSIS
use RPM2;
my $db = RPM2->open_rpm_db();
my $i = $db->find_all_iter();
print "The following packages are installed (aka, 'rpm -qa'):
";
while (my $pkg = $i->next) {
print $pkg->as_nvre, "
";
}
$i = $db->find_by_name_iter("kernel");
print "The following kernels are installed (aka, 'rpm -q kernel'):
";
while (my $pkg = $i->next) {
print $pkg->as_nvre, " ", int($pkg->size()/1024), "k
";
}
$i = $db->find_by_provides_iter("kernel");
print "The following packages provide 'kernel' (aka, 'rpm -q --whatprovides kernel'):
";
while (my $pkg = $i->next) {
print $pkg->as_nvre, " ", int($pkg->size()/1024), "k
";
}
print "The following packages are installed (aka, 'rpm -qa' once more):
";
foreach my $pkg ($db->find_by_file("/bin/sh")) {
print $pkg->as_nvre, "
";
}
my $pkg = RPM2->open_package("/tmp/XFree86-4.1.0-15.src.rpm");
print "Package opened: ", $pkg->as_nvre(), ", is source: ", $pkg->is_source_package, "
";
DESCRIPTION
The RPM2 module provides an object-oriented interface to querying both the installed RPM database as well as files on the filesystem.
CLASS METHODS
Pretty much all use of the class starts here. There are two main entrypoints into the package -- either through the database of installed
rpms (aka the rpmdb) or through a file on the filesystem (such as kernel-2.4.9-31.src.rpm or kernel-2.4.9-31.i386.rpm
You can have multiple RPM databases open at once, as well as running multiple queries on each.
open_rpm_db(-path => "/path/to/db")
As it sounds, it opens the RPM database, and returns it as an object.
open_package("foo-1.1-14.noarch.rpm")
Opens a specific package (RPM or SRPM). Returns a Header object.
RPM DB object methods
find_all_iter()
Returns an iterator object that iterates over the entire database.
find_all()
Returns an list of all of the results of the find_all_iter() method.
find_by_file_iter($filename)
Returns an iterator that returns all packages that contain a given file.
find_by_file($filename)
Ditto, except it just returns the list
find_by_name_iter($package_name)
You get the idea. This one is for iterating by package name.
find_by_name($package_name)
Ditto, except it returns a list.
find_by_provides_iter($provides_string)
This one iterates over provides.
find_by_provides($provides_string)
Ditto, except it returns a list.
find_by_requires_iter($requires_string)
This one iterates over requires.
find_by_requires($requires_string)
Ditto, except it returns a list.
RPM Header object methods
stuff goes here
TODO
Package installation and removal.
Signature validation.
HISTORY
0.01 Initial release
AUTHOR
Chip Turner <cturner@redhat.com>
SEE ALSO
perl. The original RPM module.
perl v5.8.0 2002-11-08 RPM2(3)