Forum Discussion

palatha3's avatar
palatha3
Occasional Contributor
5 years ago

How to apply ReadyAPI floating license to jenkins docker container

Hi,

I am trying to run readyapi tests in jenkins docker container. I have installed readyAPI, maven and needed tools on the jenkins docker container. I have setup jenkins and path to maven file. Now how to apply the ReadyAPI license on the jenkins container. Please let me know if you have any idea on this line. thanks

host machine os: ubuntu 16.04 LTS

docker image: jenkins

myReadyAPICode.txt (placed within /usr/local/SmartBear/ReadyAPI-3.0.0/jre/bin) - is the ReadyAPI code file

 

is this the correct  doc to follow: https://support.smartbear.com/readyapi/docs/integrations/jenkins.html

ReadyAPI_LicenseManager/ready-api-license-manager/license-manager.sh: is the license manager jar and sh file copied to jre/bin

I have run this:

jenkins@47726b07b137:/usr/local/SmartBear/ReadyAPI-3.0.0/jre/bin$ sh ./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager.sh -s licenseServer:1099 ./myReadyAPICode.txt

I am getting following error:

./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.sh: 2: ./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.s: not found

./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.sh: 4: ./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.s: not found

./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.sh: 6: ./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.s: not found

./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.sh: 7: ./ReadyAPI_LicenseManager/ready-api-license-manager/license-manager_orginal.sh: Syntax error: word unexpected (expecting "in")

      license-manager.sh file content:

#!/bin/sh

DIRNAME=`dirname $0`

# OS specific support (must be 'true' or 'false').
cygwin=false;
case "`uname`" in
CYGWIN*)
cygwin=true
;;
esac

if [ -f "$PWD/java" ]
then
JAVA=$PWD/java
else
if [ -f "$JAVA_HOME/bin/java" ]
then
JAVA=$JAVA_HOME/bin/java
else
echo JAVA_HOME is not set, unexpected results may occur.
echo Set JAVA_HOME to the directory of your local Java installation to avoid this message.
JAVA=java
fi
fi

#JAVA 12
JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.desktop/java.beans=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED"

export JAVA_OPTS

for file in $DIRNAME/ready-api-license-manager-*.jar; do
$JAVA $JAVA_OPTS -jar $file "$@"
break
done

    • palatha3's avatar
      palatha3
      Occasional Contributor

      Thanks for information Tanya.

      I tried that too before trying what I am doing now. there is no option to set specific tool like in other case MyCode.txt file for jenkins (https://support.smartbear.com/readyapi/docs/integrations/jenkins.html)

      I got this following error with this command: (docker run -v="/<projectpath>/Sample-readyapi-project.xml":/project -v="/<reportpath>":/reports -it myCompany/docker)

      Please select the tool for which you want to get the floating license:
      1. SoapUI Pro
      2. LoadUI Pro
      3. Secure (if you have an old license)
      4. ServiceV Pro
      5. VirtServer
      6. ReadyAPI Bundle
      ERROR: The license is invalid: Failed to get floating license. Reason: java.rmi.UnknownHostException: Unknown host: licenseServer.com; nested exception is:
      java.net.UnknownHostException: licenseServer.com

      Note: My intension is not using ready-api-soapui-testrunner docker image. Just use one base docker image (jenkins in my case) and install needed tools for testing. So that we can spin up that container instance as needed and run the tests (have a maven project for ReadyAPI test project).