blob: 51c4bef1edb4b5e2de15c03a475b18d85306e611 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2014 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christopher Guindon (Eclipse Foundation) - Initial implementation
*******************************************************************************/
?>
<!-- Main content area -->
<div id="midcolumn">
<h1 id="jemo-admin"><a class="anchor" href="#jemo-admin"></a>1. Jemo Administration</h1>
<p>Jemo offers a set of functionalities only to users with admin permissions at
<a href="http://localhost/jemo/admin" target="_blank">http://localhost/jemo/admin</a>
(change 'localhost' if you don't run Jemo locally.) The user is prompted to provide credentials and, if authorised,
he is provided with two options, the <code>Admin Panel</code> or the <code>CI/CD</code> option.
</p>
<h2>Admin Panel</h2>
<p>
The admin panel displays the full list of plugins that are currently installed on the Jemo cluster.
Notice, that you can install more than one versions of the same plugin at the same time. The jemo cluster will run both of them.
This panel gives the administrator full visibility and control on what plugin versions run at each time.
</p>
<p>
For each plugin version, the <code>id</code>, the <code>name</code> and the <code>version</code> are displayed
in a row and if you expand the arrow at the right side
the list of modules comprising the plugin is displayed. Two buttons are provided for each plugin version,
one that switches between <code>DEACTIVATE</code>/<code>ACTIVATE</code> when the plugin is active/inactive respectively and
another labeled with <code>DELETE</code> that deletes the plugin.
Deactivating a plugin means that the plugin stops running on the Jemo cluster, but the relevant files, i.e. the jar,
remain stored on the cloud provider storage for future use in case this plugin version is re-activated.
On the other hand, deleting a plugin version deletes all the relevant files from the cloud provider storage.
</p>
<h2>CI/CD</h2>
The CI/CD functionality offers the Jemo administrator the ability to deploy Jemo plugins whose
code is hosted on a <a href="https://github.com/" target="_blank">Github</a> repository.
To use this functionality, make sure you have <a href="https://git-scm.com/" target="_blank">git</a> and
<a href="https://maven.apache.org/" target="_blank">mvn</a> installed and available on your Path. Run:
<pre> > git --version
> mvn --version</pre>
<p>You will be redirected to a form asking you to provide the following parameters.</p>
<table class="tableblock frame-all grid-all stretch">
<caption class="title">Table 1. CI/CD patterns</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 20%;">
<col style="width: 55%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter</th>
<th class="tableblock halign-left valign-top">Required/Optional</th>
<th class="tableblock halign-left valign-top">Example</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>repoUrl</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">https://github.com/ytheohar/jemo.git</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The https url to clone from</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>branch</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>O</code> - the default is "master"</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">monitor-plugins-improvements</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">the branch of the repository</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>subDir</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>O</code> - the default is "", i.e. the root folder</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">demos/jemo-trader-app</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The sub directory with the repository where the code is located</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>pluginId</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>M</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The plugin id</p></td>
</tr>
</tbody>
</table>
<p>When your click the SUBMIT button, Jemo starts a process where it runs the following commands:
<pre> > git clone --single-branch --branch monitor-plugins-improvements &lt;repoUrl&gt; cicd/1
> mvn deploy -f cicd/1/demos/jemo-trader-app/pom.xml -Djemo.username=&lt;JEMO_ADMIN_USER_NAME&gt; -Djemo.password=&lt;JEMO_ADMIN_PASSWORD&gt; -Djemo.id=1 -Djemo.endpoint=http://localhost</pre>
The output of these commands is displayed on your screen, along with a message at the top notifying you
about the status of the deployment (success or failure).
You can browse back on your browser and select the <code>Admin Panel</code> option
to verify the plugin version was deployed and runs on the Jemo cluster. Notice that the plugin version
is determined by the artifact version defined in the pom file of the plugin repository.
</p>
</div>
<!-- ./end #midcolumn -->
<!-- Start of the right column -->
<!-- ./end #rightcolumn -->