uab versioning: definition 1 07/05/2014. summary uab component definition uab component release uab...

Click here to load reader

Upload: theresa-rice

Post on 08-Jan-2018

240 views

Category:

Documents


0 download

DESCRIPTION

UAB component definition Create a Jenkins plug-in to define the UAB Component: 1. Component name (e.g. “UNICOS CPC”) 2. Component description 3. Modules definition : A. Common/Core resources [unique, required] B. Wizard [unique, required] C. Baseline(s) [multiple] D. Template(s) [multiple]  Data required to define the modules: Maven coordinates: groupId, artifactId [Name: Representative name for the module ] (Better than the artifactId? Is it possible to get it from Nexus?) Type : type of the binary file in case is not.jar (e.g. “zip”) Issue tracking: Jira Project (e.g. UCPC) Jira Component (e.g. ucpc-plc-schneider) 3 07/05/2014 Plug-in implementation postponed cern.unicos.cpc ucpc-plc-schneider Baseline: PLC SCHNEIDER zip UCPC ucpc-plc-schneider

TRANSCRIPT

UAB Versioning: Definition 1 07/05/2014 Summary UAB component definition UAB component release UAB component query UAB component installation Create new applications Application upgrades 2 07/05/2014 UAB component definition Create a Jenkins plug-in to define the UAB Component: 1. Component name (e.g. UNICOS CPC) 2. Component description 3. Modules definition : A. Common/Core resources [unique, required] B. Wizard [unique, required] C. Baseline(s) [multiple] D. Template(s) [multiple] Data required to define the modules: Maven coordinates: groupId, artifactId [Name: Representative name for the module ] (Better than the artifactId? Is it possible to get it from Nexus?) Type : type of the binary file in case is not.jar (e.g. zip) Issue tracking: Jira Project (e.g. UCPC) Jira Component (e.g. ucpc-plc-schneider) 3 07/05/2014 Plug-in implementation postponed cern.unicos.cpc ucpc-plc-schneider Baseline: PLC SCHNEIDER zip UCPC ucpc-plc-schneider UAB component definition Create a Jenkins plug-in to define the UAB Component: 1. Component name (e.g. UNICOS CPC) 2. Component description 3. Modules definition 4. Groups definition (targets/platforms) Definition: Group identifier (e.g. Siemens, Schneider ) References: List of references to the defined modules (excluding wizard & core-resources) 4 cern.uab.resources.cpc ucpc-core-resources Core resources cern.uab.components.cpc cpc-wizard CPC Wizard cern.unicos.cpc ucpc-wincc-oa Baseline: UCPC WinCC O.A. zip... Schneider cern.unicos.cpc:ucpc-schneider-plc cern.unicos.cpc:ucpc-wincc-oa cern.unicos.cpc:ucpc-magelis cern.unicos.cpc:ucpc-wincc-tia cern.unicos.cpc:ucpc-wincc-flexible cern.uab.resources.cpc:ucpc-schneider-templates cern.uab.resources.cpc:ucpc-wincc-oa-templates cern.uab.resources.cpc:ucpc-touch-panel-templates Siemens... 07/05/2014 Plug-in implementation postponed UAB component definition Some UAB components are much simpler than CPC and the component definition can be simplified (e.g. QPS) Unique resources package. No need to split the resources package in common/core resources and templates Unique baseline: WinCC OA Unique target/platform No need to define groups. In this case the UAB component definition can be reduced to: 1. Component name (e.g. QPS) 2. Component description 3. Modules definition A. Common/Core resources [unique, required] B. Wizard [unique, required] C. Baseline(s) 5 07/05/2014 UAB component definition Some UAB components are even simpler (e.g. TCT, Olproc++) No resources package. No baseline. No target/platform A unique module is required for the release In this case the new UAB versioning mechanism will not be applied. The Bootstrap will have to manage two release mechanisms: Current approach New Versioning mechanism 6 07/05/2014 UAB component release Once the UAB component is defined, the Jenkins plug-in will be used for the release. Required data: Release version Release type (beta, official) Release notes Actions for the user Release targets (Siemens, Schneider..) Modules: Version Add release notes? (Checkbox) Annotations: Release notes Changes (Jira) [Affected targets ] (?) 7 Sketch * This information must be provided when the individual modules are released, not in the UAB Component release. 07/05/2014 UAB component release The information compiled by the Jenkins plug-in will be stored in xml file(s). Those files will be used by a maven plug-in to: 1. Generate the release files: A. Release descriptor (XML) 8 UNICOS CPC UNICOS framework to build Continuous Process Control Systems 7.0 Added redundancy for Schneider PLCs Schneider Install the new PLC baseline Regenerate and import the Schneider application to include PLC redundancy cern.uab.resources.cpc ucpc-core-resources Core resources 07/05/2014 UAB component release The information compiled by the Jenkins plug-in will be stored in xml file(s). Those files will be used by a maven plug-in to: 1. Generate the release files: A. Release descriptor (XML) B. Release notes (HTML) 9 07/05/2014 UAB component release The information compiled by the Jenkins plug-in will be stored in xml file(s). Those files will be used by a maven plug-in to: 1. Generate the release files: A. Release descriptor (XML) B. Release notes (HTML) C. Release versions table (HTML) 10 07/05/2014 UAB component release The information compiled by the Jenkins plug-in will be stored in xml file(s). Those files will be used by a maven plug-in to: 1. Generate the release files: A. Release descriptor (XML) B. Release notes (HTML) C. Release versions table (HTML) 2. Perform the release (next slide) /05/2014 UAB component release Maven plug-in: Perform the release 12 Release Transform Fixed Issues Release Release Notes Release Table 2 Get fixed issues from Jira 3 Create release files generate execute input generate 4 Deploy Get fixed Issues 5 Doc.upload 07/05/ Validate input data: files, dependencies, Querying Jira Issues Convention required for: release versions Notation: - Example: Jira Project: UCPC Component: ucpc-wincc-oa Version: Release version: ucpc-wincc-oa Avoid adding the release date to the release version: ucpc-uab-resourcespackage NOV-2013 Review the release version of the released modules!!! Convention: Use different Jira components for: Wizard Resources package Baseline(s) Template(s) 07/05/ UAB component query When the Bootstrap starts: 1. Query Nexus to get the released components. 2. Download the jar files containing the release descriptor & release notes. Requirement: The list of components (versioning) is available even if they are not downloaded Query components 2 Download versioning jars 07/05/2014 UAB component installation The Bootstrap will show a Release Notes link next to the component version (only available for components released with versioning) /05/2014 UAB component installation The Bootstrap will show a Release Notes link next to the component version (only available for components released with versioning). When the mouse is over the component a release summary will be displayed 16 07/05/2014 UAB component installation The Bootstrap will show a Release Notes link next to the component version (only available for components released with versioning). When the mouse is over the component a release summary will be displayed If the user clicks on the Release Notes link, the HTML will be opened. 17 open 07/05/2014 Create new applications Only the relevant versions for the selected technology/platform will be displayed /05/2014 Create new applications Only the relevant versions for the selected technology/platform will be displayed. A tooltip text will show the relevant changes from the previous release /05/2014 Create new applications Only the relevant versions for the selected technology/platform will be displayed. A tooltip text will show the relevant changes from the previous release. When the target version is selected a Release Notes link will allow the access to the release notes for the selected version (HTML) /05/2014 Create new applications Only the relevant versions for the selected technology/platform will be displayed. A tooltip text will show the relevant changes from the previous release. When the target version is selected a Release Notes link will allow the access to the release notes for the selected version (HTML). When the application is created, the release descriptor (or similar file) will be copied to the application folder (this allows to identify the release version used) /05/2014 Application upgrades Only the relevant versions for the selected technology/platform will be displayed /05/2014 Application upgrades Only the relevant versions for the selected technology/platform will be displayed. A tooltip text will show the relevant changes from the previous release /05/2014 Application upgrades Only the relevant versions for the selected technology/platform will be displayed. A tooltip text will show the relevant changes from the previous release. When the target version is selected a List of changes link will allow the access to the changes from the application version to the upgrade target version (HTML) /05/2014 Application upgrades List of changes Generated automatically from the release descriptors when a new version is installed. Challenge Create unique lists of release notes and actions (e.g. different sentences but same meaning Install the new PLC baseline Install the baseline in the PLC) 25 07/05/2014 Upgrade summary Annotations for common modules (wizard, core-resources) should specify the affected target(s) Example: 07/05/ Siemens Added redundancy for Siemens PLCs Upgrade Regenerate Import Codesys New target PLC added Upgrade Note: The list of fixed issues is common for all the target platforms! TODO: Discuss the meaning and usage of the actions. Upgrade summary TODO: Do a versioning release for components already released. E.g: For CPC: 1.3.0, 1.3.1, 1.4.0, 1.4.1, 1.5.0, Allows to create a complete upgrade summary (e.g from v to v1.7.0) Issues: Minor: When wizard version is executed several resource packages will be visible (1.4.0, 1.4.1) Minor: The bootstrap will find the same components twice (with/without versioning) Its necessary to filter the search result to eliminate duplications. Minor: Provide the release notes for all the modules already released. 07/05/ Bootstrap: Implications 1. All versions of a component will be available for installation Currently, for released versions X.Y.z only the latest version is offered Example: Released versions: 1.2.0, 1.2.1, Only v1.2.2 is visible for install 2. The component name can be different than the wizard artifactId 07/05/ Launcher panels of released components (no versioning) will be modified dynamically: Replace Resources version by Version Display all available versions (instead of the installed ones) 4. Change the maven groupId of wizards & resources: Current: cern.uab.components.cpc, cern.uab.resources.cpc New (?): cern.uab.cpc