Coder Social home page Coder Social logo

instantbibi's Introduction

Instantbibi

CircleCI

Description

InstantBiBi is a configuration tool to set up a complete BiBiServ2 environment.

Requirements

  • ant >= 1.8

  • Java 8

  • docker >= 1.12 (If you are an administrator)

  • maven >= 3.3.9 (If you are an administrator)

How to use

Before you run any commands, please run

ant install.antlib

How to use instantbibi as a tool developer

Start the instantbibi wizard for creating a tool description
ant instant.environment && ant install.wizard

This command starts the wizard on http://localhost:8080/wizard/ . With the help of the wizard you can create tool description (runnableitem.xml) that you must place in the GitHub repository of your tool. Your Github repository must contain a Dockerfile and a runnableitem.xml in the root directory.

(For an installation of your tool, please provide a link of your github repository to the administrator of the bibiserv)

Options
  • -Dbase.dir= lets you change the default domain directory. Default: /tmp/${user.name}
Uninstall your wizard installation

You can remove your installation with

ant wipe.all

How to use instantbibi as a service administrator

Start your own bibiserv

You can configure the deployment of your installation with the help of the resources.config file.

(If you maintain a fork of the bibiserv, you could change the default bibiserv url or the server_config property for a different layout.)

After that step you can run

ant instant 

to deploy your application. This command will automatically fetch a glassfish and deploy the bibimainapp. You can view the start page on localhost:8080. It will create the bibidomain in /tmp/${user.name}.

The default admin credentials are testadmin and simplepassword When you have logged in you can change the BiBiTools properties which defines for example the Docker Hub Organisation that is used for the deployed tools.

Note:

Options
  • -Dbase.dir=

    lets you change the default domain directory. Default: /tmp/${user.name}

  • -Dspool.dir=

    defines the work directory for the installed tools. Default: ${base.dir}/spool

  • -Dportbase= sets the portbase for the installation (default:8000). Starting from this port base the following 4 ports used:

    • ${portbase} + 80 (http)

    • ${portbase} + 81 (https)

    • ${portbase} + 27 (database port)

    • ${portbase} + 48 (administration port)

Deploy a tool on your service instance

You can deploy a tool with the following command

ant deploy.docker -Durl=<github-url> -Drelease=<release> -Ddest=<destination-path>

where

  • github-url is a url to a repository which must have at least the runnableitem.xml (produced by the bibiserv wizard) and a Dockerfile in the root directory. Example: https://github.com/BiBiServ/dialign-docker

  • release is a release number of your tool. You can provide 'master' for using the master branch. Example: '2.2.1'

  • dest is the destination path of the tool project directory. This directory is just for the intermediate steps important and you can remove it afterwards. Example: /tmp/test

This command will also ask you for your dockerhub credentials. It will deploy the tool on your running glassfish (created with ant instant) and it will push the docker image to the provided dockerhub account. You can view the tool by pointing your browser to localhost:8080/toolname.

A working command looks like this:

ant deploy.docker -Durl=https://github.com/BiBiServ/dialign-docker -Drelease=master -Ddest=/tmp/test

If you want to skip the docker step, you can run 'ant deploy.github' with the same parameters as deploy.docker and push your image afterwards.

Inspect the configuration of your service.
ant showconfig
Undeploy a tool of your service.
ant undeploy.app -Dapp=<toolname>
Stop or Start your service

Start:

ant start

Stop:

ant stop
Remove your service installation and all configuration files
ant wipe.all

instantbibi's People

Contributors

pbelmann avatar xlrname avatar jkrue avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar

instantbibi's Issues

asadmin proxy setting

Add jobproxy parameter for using proxy:

Something like this before running the other asadmin commands:

  
      <target name="deploy" depends=".config.setting" description="(re)deploys bibimainapp">
 
 
 	<exec executable="${basedir}/glassfish/bin/asadmin" failifexecutionfails="true"
 	    failonerror="true">
 	    <arg value="--user=admin"/>
 	    <arg value="--passwordfile=appserver_config/local.passwordfile"/>
 	    <arg value="--port=${admin.port}"/>
 	    <arg value="--host=localhost"/>
 	    <arg value="create-jvm-options"/>
 	    <arg value="-Dhttp.proxyHost=rzproxy.helmholtz-hzi.de"/>
 	</exec>
 	<exec executable="${basedir}/glassfish/bin/asadmin" failifexecutionfails="true"
 	    failonerror="true">
 	    <arg value="--user=admin"/>
 	    <arg value="--passwordfile=appserver_config/local.passwordfile"/>
 	    <arg value="--port=${admin.port}"/>
 	    <arg value="--host=localhost"/>
 	    <arg value="create-jvm-options"/>
 	    <arg value="-Dhttp.proxyPort=3128"/>
 	</exec>

portbase=>8000

The readme does not tell that the default portbase is 8000.

version

If we distribute the instantbibi to developers and maybe users it should report its version number . That way a user/developer could for example tell us the instantbibi version that does not work.

Stop/Undeploy

Add to the readme a description for stopping and undeploying the bibiserv.

instantbibi does not start with openjdk 8

while calling

ant instant.environment && ant install.wizard

it throws:

BUILD FAILED
/home/ubuntu/instantbibi/build.xml:155: The following error occurred while executing this line:
/home/ubuntu/instantbibi/build.xml:680: The following error occurred while executing this line:
/home/ubuntu/instantbibi/appserver_config/build.xml:221: The following error occurred while executing this line:
/home/ubuntu/instantbibi/appserver_config/build.xml:672: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-8-openjdk-amd64/jre"

Total time: 6 minutes 55 seconds

It seems that oracle Java is required.

I've tested the installation with both โ€“ openJDK 8 and Oracle JDK 8 โ€“ it works only with the last one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.