Date: Thu, 28 Mar 2024 15:59:01 +0000 (UTC)
Message-ID: <99561271.6609.1711641541767@ip-10-10-7-29.ec2.internal>
Subject: Exported From Confluence
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_Part_6608_1934256941.1711641541765"
------=_Part_6608_1934256941.1711641541765
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/exported.html
The Grouper distribution has a build script for one environment. I=
f you need to manage dev/test/prod for the loader/ui/ws that is 9 environme=
nts. When you need to upgrade, it can be time consuming and easy to m=
ake mistakes.
This is a strategy we use at Penn to manage all the config files and bui=
ld scripts for all the environments, without duplication, and storing files=
in CVS. This is probably not a strategy that can be used without mod=
ification, but you can use the design and tweak the scripts for your enviro=
nments.
Note that this uses ant, not Maven.
Here is the example output. Note the UI and WS zips just have a wa=
rfile inside, but since the warfiles in this case (configurable in build.pr=
operties) have the same name, so we zip them in different names so they can=
live in the same dir.
- dist/grouperUiDev.tar.gz
- dist/grouperUiTest.tar.gz
- dist/grouperUiProd.tar.gz
- dist/grouperWsDev.tar.gz
- dist/grouperWsTest.tar.gz
- dist/grouperWsProd.tar.gz
- pennGroupsClient-1.5.2.tar.gz
Here is the folder structure:
- appSpecific: holds files for grouper a grouper component that is differ=
ent from a grouper build, and different in various envs. Generally co=
nfig files or UI customizations for an institution
- appSpecificNoFilter: holds files like appSpecific, but will be copied w=
ithout filtering (search/replace) variables (e.g. the passwords in each env=
differ). These are files without variables, or binary files
- buildFiles: holds build.properties for Grouper builds
- conf: common grouper API config files which are different than the defa=
ult or which differ in various environments
- dist: the builds go there
- docs: documentation
- grouper-ui-webapp: a build of the UI without files which different for =
institution or files which different per env
- grouper-ws-webapp: a build of the WS without files which different for =
institution or files which different per env
- grouperClient: the binary grouper client without files specific for an =
institution
- lib: ant library for if's in build script
- temp: used for builds
- the build.xml and build.example.properties are in the =
base dir
Setup a=
nd Maintenance
This section describes a new setup, or an upgrade (the CVS syncs)
- Create that folder structure above e.g. in C:\dev\eclipse\projects\penn=
Grouper
- Download the later Grouper API binary, UI, WS, and client (binary)
- E.g. in C:\software\grouper\1.5.2\grouper.apiBinary-1.5.2
- E.g. in C:\software\grouper\1.5.2\grouper.clientBinary-1.5.2
- E.g. in C:\software\grouper\1.5.2\grouper.ui-1.5.2
- E.g. in C:\software\grouper\1.5.2\grouper.ws-1.5.2
- Copy all the build.example.properties to build.properties in each of th=
e 4. Look at the build.properties, copy the file to the buildFiles di=
r. Sync with CVS and diff to see if there are changes (if not new).&n=
bsp; If there are changes, then copy the file back to its original location=
- Example of changes, in the WS and UI build.properties, put the path to =
Grouper in there.
- Run "ant dist" in the UI and WS
- Edit this build.properties, and put in the locations to everything
grouper=
.dir=3DC:\\software\\grouper\\1.5.2\\grouper.apiBinary-1.5.2
grouper.jar.dir=3D${grouper.dir}/dist/lib
grouper.client.dir=3DC:\\software\\grouper\\1.5.2\\grouper.clientBinary-1.5=
.2
grouper.ui.dir=3DC:\\software\\grouper\\1.5.2\\grouper.ui-1.5.2\\dist\\grou=
per
grouper.ws.dir=3DC:\\software\\grouper\\1.5.2\\grouper.ws-1.5.2\\grouper-ws=
\\build\\dist\\grouper-ws
- Run the ant task: copyGrouperApiFilesToBuildProject. This will co=
py the grouper config files to the conf directory. If this is an upgr=
ade, compare the files with the latest in CVS and merge your changes. =
Otherwise look at the files and make changes as necessary. However, =
if you have something which differs per env, put a variable in there. =
In this case, here are my variables in grouper.properties:
grouper=
.env.name =3D <at:var at:name=3D"envName" />
There are corresponding entries in the build.properties:
devEnv=
=3DDEV
testEnv=3DTEST
prodEnv=3DPROD
Here are the variables in the log4j.properties:
log4j.a=
ppender.grouper_error.File =3D <at:var at:name=3D"=
logDir" />/grouper_error.log
This is the one place where the data is different per env and grouper mo=
dule (well, mine are similar since I run on different servers, but they can=
be different). Here are the build.properties entries
devUiLo=
gDir=3D/opt/appserv/tomcat_2v/logs/grouper
testUiLogDir=3D/opt/appserv/tomcat_2v/logs/grouper
prodUiLogDir=3D/opt/appserv/tomcat_2v/logs/grouper
devWsLogDir=3D/opt/appserv/tomcat_3b/logs/grouper/grouper_error.log
testWsLogDir=3D/opt/appserv/tomcat_3b/logs/grouper/grouper_error.log
prodWsLogDir=3D/opt/appserv/tomcat_3b/logs/grouper/grouper_error.log
localdevProjectLogDir=3Dc:/temp
devProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
testProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
prodProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
Here are the grouper.hibernate.properties variables
hiberna=
te.connection.url =3D <at:var at:name=3D"dbUrl" />
hibernate.connection.username =3D <at:var at:name=3D"dbUser" /&g=
t;
hibernate.connection.password =3D <at:var at:name=3D"dbPass" /&g=
t;
There are entries per env. Note the passwords are encrypted with t=
he morphString Internet2 library, so the encrypted values are in a file sys=
tem file (better for storage of config files in CVS nad hiding plaintext pa=
sswords)
devDbUr=
l=3Djdbc:oracle:thin:@devserver:1521:devsid
testDbUrl=3Djdbc:oracle:thin:@testserver:1521:testsid
prodDbUrl=3Djdbc:oracle:thin:@prodserver:1521:prodsid
devDbUser=3Dmyuser
testDbUser=3Dmyuser
prodDbUser=3Dmyuser
localdevDbPass=3Dr:/home/appadmin/pass/grouper/grouperMorphDev.pass
devDbPass=3D/home/appadmin/pass/grouper/grouperMorphDev.pass
testDbPass=3D/home/appadmin/pass/grouper/grouperMorphTest.pass
prodDbPass=3D/home/appadmin/pass/grouper/grouperMorphProd.pass
grouper-loader.properties (in appSpecific/conf instead of conf since onl=
y needed in the loader) also has a variable for the report directory and lo=
ader servers and passes:
db.ware=
house.pass =3D <at:var at:name=3D"warehousePass" />
db.warehouse.url =3D <at:var at:name=3D"warehouseUrl" />
daily.report.saveInDirectory =3D <at:var at:name=3D"dailyReportDirectory=
" />
These are in the build.properties
localde=
vWarehousePass=3Dr:/home/appadmin/pass/grouper/grouperMorphWarehouse.pass
devWarehousePass=3D/home/appadmin/pass/grouper/grouperMorphWarehouse.pass
testWarehousePass=3D/home/appadmin/pass/grouper/grouperMorphWarehouse.pass
prodWarehousePass=3D/home/appadmin/pass/grouper/grouperMorphWarehouse.pass
localdevWarehouseUrl=3Djdbc:oracle:thin:@testwarehouse:1521:testwhsid
devWarehouseUrl=3Djdbc:oracle:thin:@testwarehouse:1521:testwhsid
testWarehouseUrl=3Djdbc:oracle:thin:@testwarehouse:1521:testwhsid
prodWarehouseUrl=3Djdbc:oracle:thin:@prodwarehouse:1521:prodwhside
localdevDailyReportDirectory=3Dc:/temp/groupDailyReports
devDailyReportDirectory=3D/opt/appserv/tomcat_3c/logs/fastGrouper/dailyRepo=
rts
testDailyReportDirectory=3D/opt/appserv/tomcat_3c/logs/fastGrouper/dailyRep=
orts
prodDailyReportDirectory=3D/opt/appserv/tomcat_3c/logs/fastGrouper/dailyRep=
orts
UI build scr=
ipts
Run the ant task: copyGrouperUiToBuildProject (note this assumes you ran=
the UI build target: dist). This will copy the build of the UI to th=
e pennGrouper dir, but leaves out the grouper config files (since those are=
int he conf dir).
You can run the ant task: packageUi which will build the three UI warfil=
es and zips for dev, test, and prod
WS build scr=
ipts
Run the ant task: copyGrouperWsToBuildProject. This will copy the =
build of the WS to the pennGrouper dir, but leaves out the grouper config f=
iles (since those are int he conf dir). Note, if this is an upgrade, =
sync the appSpecific\ws\WEB-INF\classes\grouper-ws.properties and compare a=
nd merge with old values.
You can run the ant task: packageWs which will build the three WS warfil=
es and zips for dev, test, and prod
Client b=
uild scripts
See the setting in the build.properties to control the name of the clien=
t zip
clientP=
ackageName=3DpennGroupsClient-1.5.2.tar.gz
Run this target: copyGrouperClientToBuildProject. This copies the =
binary client to the grouperClient dir so it can be saved in CVS. If =
this is an upgrade, compare the appSpecific\client\grouper.client.propertie=
s and appSpecific\client\grouper.client.usage.txt and put in the institutio=
n specific settings.
Run the target: packageClient to build the client zip for distribution i=
n your institution. Note there isnt one for each env since the user c=
an adjust the URL to connect to. Might want to give some examples of =
test envs in the properties file comments, unless you dont want to for secu=
rity or to not confuse people.
L=
oader project build scripts
At Penn we run the loader in a webapp. So we need the grouper API =
and config files in the webapp. That webapp has dev/test/prod envs so=
we need to make sure the config files are currect. Configure the loc=
ation of the project in the build.properties, the config dirs for each env,=
and also the log directories for the 4 envs
externa=
lProjectLibDir=3DC:\\dev\\eclipse\\projects\\fastGrouper\\sourcecontrol\\we=
b\\WEB-INF\\lib
localdevConfDir=3DC:\\dev\\eclipse\\projects\\fastGrouper\\resources
devConfDir=3DC:\\dev\\eclipse\\projects\\fastGrouper\\sourcecontrol\\server=
s\\integratedDev\\resources
testConfDir=3DC:\\dev\\eclipse\\projects\\fastGrouper\\sourcecontrol\\serve=
rs\\testDaemon\\resources
prodConfDir=3DC:\\dev\\eclipse\\projects\\fastGrouper\\sourcecontrol\\serve=
rs\\prodDaemon\\resources
localdevProjectLogDir=3Dc:/temp
devProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
testProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
prodProjectLogDir=3D/opt/appserv/tomcat_3c/logs/grouper
Run the ant task: copyBuildProjectToWebapp which will copy the grouper j=
ars to the lib dir, and the config files to each location above (and substi=
tute variables). The building of the webapp is done by that applicati=
on.
------=_Part_6608_1934256941.1711641541765
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: file:///C:/9c1dc62bbdaa6230bbdf6bc335dfec74
R0lGODlhMgL6AvcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/
/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm
AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/
MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm
ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/
mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm
zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/
/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ
AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA
M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ
ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A
mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z
zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAyAvoC
AAj/AP/5+5dqW6xqBw/6SfUnlaZQdkJtQkjxIIqK1S5azFgRRSyPHDdq5DgyIUKQJj8mROmx5UqV
J1OixJgQ1b+bqPzc/OeHps9Y21L5G0hN4L+iRAWmQnrUKNOiKJr6Q0ENxdSnVo9mrXpVIFWjUQeG
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
CvWw01RGAd8sRK3ZtFSUD5rUZC9Uw3v27vlbhq+eO2JvOyqkizruY9atXb+GHVv2/+yf+IRCHfrP
KFKlVpP+Tho11qqqMRO/1KqyWiFVzJ1XMxlqs2fqav3Rq1f6LQqP3Lurrjtb/Hjy5c2f9xuUqEp/
w6fhS5qYIHxqjB2jvxkKlH7+/5ZRG60Y/AYksEADD0RwpZ/mu00w3Y76zTen1BOOqpSSa+k4lzDU
a622MkowRBFHJLHEu9Zbqb1YDAMqsaAWS6oxC018yR+MigGlHhp35LFHH0f86UWFHCwKwt6a+q0g
qYi70LisfoQySimnpFKjoGxL0T3bqJHvny2dauY+lDhciUyVmunLzCrXZLNNN1NaUDGF1tstQiSf
CkqqGd9U6ZRl/AR0GT4HJbTQAf+JVImwFQ9zsaDfqJHxzCdhUnMnDVES9B/oEmImU0M/BTVUwGq7
bb2g6jwSqAmDW1JUkk4p6Z5OXaW1VltnojDLVd6LL6H5krJvT5MqPYlYk9Dky9h/TqGmOUO2+Eea
aZiBVbbwVLr2Vm23zSvOLYdUCNWl7qRQz1tDQana2LJFiV2/5poJlZNCQQVdbu8dD0X2CmM0Nxgh
FfOkS1lSlqSCbUK2z22ac/aPQqpRFzZ3TZqYr4pVqjc6hfrAt2PZgmyQJHElTJKgVm1FdxuFVE7I
3u24k2sjmOOiyzvUZk7tNJBm3nkum3v+qC7vvusO55+Bjtnmon1mV96UnPY46sf/rmSpvV237PLL
pMIUtqSDFfo6oYT1YgrNsqP6J2FmGf7DEIepcVlnub4LGjy7gw4v59Virhtv0/ymOXB4cb6b75Ti
LglxqRfnK04hcyuSt3FVTTLPqc79R2WW+VHmHWXs+dvwwQuvWembU4O3Z71Lh/na0T/qe27TYZe9
9YmhLgl3xnfv1iVFWUTMX8oB7pqksVsKG23xQqmGYYGIuc4tkl4XnPS9Xa8+dr1pl3t164VWLfaO
2OXYpIh5R/8uUh009UHJSVaK1eFu5Ri6Td+x0R1Pwxf9e/9No573qDeSAP6vf9qTW+40Yi/dpc+B
OcnVvq7Wq4LQJ1jFoVRMjgeb/1A0izl/+Af03OEOEE1vdjJjGutOx73wHW1oKFwa95ZGNxTCcIWr
aV0NkRYdeinEafTqg3QeOMSbeCtkkbPT8Mp1OVvVT1MJeYdo3CGgdsHkYoC54t6IuMUR6SslKgJe
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
ADs=
------=_Part_6608_1934256941.1711641541765--