Tom FreestoneSenior DeveloperBrigham Young University2011 Jasig ConferenceJune 20, 2013
• Portals ran on large, beefy,expensive machines• Developed DeploymentAnti-patterns
• Involves Install Cookbooks• Boring and Repetitive = Errors• Requires a Jedi Master to Debug– Don’t Get Hit by a Bus Anti...
• Assume Development Environment isthe Same as Production.• Assumptions = Killer
• Servers have Personalities• Manual Configuration / Debugging• Changes are not Propagated• Unable to Reproduce Errors
• Mass produce “Servers”• Problem of Sprawl– 125% year increase in servers• How do you deal with configurationdifferences ...
• Empower our Portal Teams• Reduce Errors• Lower Stress• Flexibility• Everyone can Deploy Quickly
• Continuous Integration– Prove your software works with each commit• Benefits– Build is Repeatable– Early Warning of Prob...
• An Application is composed ofBinaries, Data and Configuration.• Artifact Repositories– Maven– Yum (rpm)
1. Enable maven resource plugin<project> ...<name>My Resources Plugin Practice Project</name> ...<build> ...<resources> <r...
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration...
1. pom.xml<profiles><profile><id>development</id><properties><greeting>Welcome to Jasig</greeting><properties></profile><p...
<build><plugins><plugin><artifactId>maven-war-plugin</artifactId><configuration><warName>someWar</warName></configuration>...
<build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>rpm-maven-plugin</artifactId><version>2.1-alpha-1<...
• CAS• Portlets• uPortal as a rpm
Rapid deployment models for uPortal
Upcoming SlideShare
Loading in …5
×

Rapid deployment models for uPortal

95
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
95
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rapid deployment models for uPortal

  1. 1. Tom FreestoneSenior DeveloperBrigham Young University2011 Jasig ConferenceJune 20, 2013
  2. 2. • Portals ran on large, beefy,expensive machines• Developed DeploymentAnti-patterns
  3. 3. • Involves Install Cookbooks• Boring and Repetitive = Errors• Requires a Jedi Master to Debug– Don’t Get Hit by a Bus Anti-Pattern• Not a Good Use of Resources
  4. 4. • Assume Development Environment isthe Same as Production.• Assumptions = Killer
  5. 5. • Servers have Personalities• Manual Configuration / Debugging• Changes are not Propagated• Unable to Reproduce Errors
  6. 6. • Mass produce “Servers”• Problem of Sprawl– 125% year increase in servers• How do you deal with configurationdifferences between dev, test, stage,prod?
  7. 7. • Empower our Portal Teams• Reduce Errors• Lower Stress• Flexibility• Everyone can Deploy Quickly
  8. 8. • Continuous Integration– Prove your software works with each commit• Benefits– Build is Repeatable– Early Warning of Problems– Wiring and Configuration that Works– Effective Teams• Use Continuous Integration with Portal andPortlets
  9. 9. • An Application is composed ofBinaries, Data and Configuration.• Artifact Repositories– Maven– Yum (rpm)
  10. 10. 1. Enable maven resource plugin<project> ...<name>My Resources Plugin Practice Project</name> ...<build> ...<resources> <resource><directory>src/main/resources</directory><filtering>true</filtering></resource> ... </resources> ... </build> ... </project>2. HelloWorld.txtHello ${name}3. Command Linemvn resources:resourcesOutput : Hello My Resources Plugin Practice Project
  11. 11. <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><webResources><webResource><directory>${basedir}/src/main/webapp/WEB-INF</directory><includes><include>web.xml</include></includes><targetPath>WEB-INF</targetPath><filtering>true</filtering></webResource></webResources></configuration></plugin></plugins></build>
  12. 12. 1. pom.xml<profiles><profile><id>development</id><properties><greeting>Welcome to Jasig</greeting><properties></profile><profile><id>production</id><properties><greeting>Welcome to Denver</greeting><properties></profile></profiles>2. helloWorld.textHello ${greeting}3. Command Linemvn package -P production -> Hello Welcome to Denvermvn package -P development -> Hello Welcome to Jasig
  13. 13. <build><plugins><plugin><artifactId>maven-war-plugin</artifactId><configuration><warName>someWar</warName></configuration></plugin></plugins></build><dependencies><dependency><groupId>edu.someUniversity</groupId><artifactId>someWar</artifactId><version>${someWar.version}</version><type>war</type><scope>runtime</scope></dependency></dependencies><properties><someWar.version>3.4.2</someWar.version></properties>
  14. 14. <build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>rpm-maven-plugin</artifactId><version>2.1-alpha-1</version><extensions>true</extensions>... <configuration> ...<mappings><mapping><directory>/tmp</directory></mapping></mappings> ... </configuration>...</plugin></plugins></build><packaging>rpm</packaging>
  15. 15. • CAS• Portlets• uPortal as a rpm
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×