Software Deployment Release ENICE 26032015 1 Summary 1

  • Slides: 9
Download presentation
Software Deployment & Release EN-ICE 26/03/2015 1

Software Deployment & Release EN-ICE 26/03/2015 1

Summary 1. Apache Maven & Nexus Repositories 2. Requirements & needs of EN-ICE-SIC 3.

Summary 1. Apache Maven & Nexus Repositories 2. Requirements & needs of EN-ICE-SIC 3. Working Group Outcome: Deployment EN-ICE 26/03/2015 2

Apache Maven • Build system for Java projects • Main objectives: • Making the

Apache Maven • Build system for Java projects • Main objectives: • Making the build process easy • Providing a uniform build system • Providing quality project information • Providing guidelines for best practices development • Main principles • Convention over configuration • Dependencies management • Build lifecycles • Plug-in based architecture • Apache Maven official site EN-ICE 26/03/2015 3

Apache Maven Dependency management Project Object Model (pom. xml) … <dependencies> <dependency> <group. Id>junit</group.

Apache Maven Dependency management Project Object Model (pom. xml) … <dependencies> <dependency> <group. Id>junit</group. Id> <artifact. Id>junit</artifact. Id> <version>4. 8</version> </dependency> <group. Id>commons-jxpath</group. Id> <artifact. Id>commons-jxpath</artifact. Id> <version>1. 3</version> </dependency> </dependencies> … EN-ICE 26/03/2015 4

Apache Maven & Nexus Repositories CERN LAN Dependency resolution CERN Public Repository Maven Central

Apache Maven & Nexus Repositories CERN LAN Dependency resolution CERN Public Repository Maven Central Repository EN-ICE Repository Codehaus Repository Internet Development PC Maven Local Repository … mvn compile POM First code compilation may take a long time until all the dependencies are downloaded. Following code compilations will be much faster. EN-ICE 26/03/2015 5

Apache Maven & Nexus Repositories CERN LAN Software deployment Maven Central Repository Only official

Apache Maven & Nexus Repositories CERN LAN Software deployment Maven Central Repository Only official releases are visible from the Internet CERN Public Repository EN-ICE Repository synchronization official-release beta-release alpha-release Codehaus Repository Internet Development PC Maven Local Repository … mvn deploy EN-ICE POM 26/03/2015 6

Requirements & Needs of EN-ICE-SIC • Repository Manager for Software Releases (Nexus, Artifactory, …)

Requirements & Needs of EN-ICE-SIC • Repository Manager for Software Releases (Nexus, Artifactory, …) • Deployment of jar, rpm, war, zip… • Maven integration • Dependency resolution • Queries to get available software (REST API, Eclipse Aether, …) • Public releases and internal releases • Automatic deployment of software documentation • API: Nexus, DFS • User Manuals: EDMS • Online Documentation: Confluence, Drupal, Wikis … • Interface for Software Releases • Jenkins EN-ICE 26/03/2015 7

WG Outcome: Deployment List of activities and tools that make the software system available

WG Outcome: Deployment List of activities and tools that make the software system available for use. Requirement: Ability to automate all the possible actions • Procedure: • • • Compiling the sources Running unit tests Tagging the source code Generate API documentation (Javadoc, Doxygen, …) Packaging files in a distributable format Uploading the packaged files to a server or repository manager Updating the project documentation (Confluence, EDMS, …) … Tools: • Apache Maven • Hudson/Jenkins • Servers • Sonatype Nexus: Deployment of software libraries and tools • EDMS: Storage for software documentation (user manuals, design documents, etc. ) • Confluence: Deployment of system’s online documentation and software download links EN-ICE 26/03/2015 8