Wednesday, July 22, 2015

Android remote control - Smartphone Test Farm

Really great piece of software for a QA engineer and even for a QA team!

Allows to control and manage real Android smartphone devices from your browser.


Tuesday, July 7, 2015

Maven-style continuous delivery

Let's say you have a java program.
Also you have a continuous integration server,
that builds java jar file (artifact) and deploys it to artifactory
(or you just use mvn clean compile deploy to upload latest version to artifactory).

Let's say you also have a bunch of hosts that suppose to run the artifact.
How do you deploy (deliver) the artifact to all the hosts?

We'll use maven for that - exec:java goal and dependency management would help a lot.

On target hosts:

1. create file pom.xml (a bit of xml)

    <modelVersion>4.0.0</modelVersion>

    <groupId>my.cool.sw</groupId>
    <artifactId>cool-program</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>my.cool.sw</groupId>
            <artifactId>my-cool-deployed-jar</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

2. exec 
mvn exec:java -Dexec.mainClass="my.cool.sw.MainClass"


That's it.
  • No need to copy jar file to hosts each time sw is updated and uploaded to artifactory.
  • All the hosts would run latest possible version from artifactory.
  • Easy to automate and to maintain.