Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

push deployment with test automation

We are developing some testing infrastructure and I have hit a coders block (lack of sleep?)...this seems like it would be a solved problem but I haven't found what I'm looking for via google.

I would like to automatically push builds from our CI server (TeamCity) to a number of machines (growing, but currently 30). These are several WinForms apps and a number of dlls. Once deployed, I would like to kick off tests (NUnit, for both unit and integration tests) and report all results (back to CI? or somewhere else? Not sure).

The target machines are a number of platforms (Win7,Vista, XP, Server 2k8, Server 2k3, Ubuntu, Fedora, Suse, x64, x86, maybe macs down the line)

This gets me part way there (the actual push). But I can't find existing solutions for 'push starting' the tests and reporting back. So far I am thinking of combining the link (or similar) with custom code running on each client machine that watches the deploy directory, runs the tests and reports the results.

  • Does anyone know of existing solutions?
  • Links?
  • Done something similar and care to share?

Edit
If possible, we prefer .net based solutions, but it isn't strictly necessary. I would have tagged the question as such, but ran out of tags :)

like image 759
µBio Avatar asked Jun 14 '11 07:06

µBio


People also ask

How do you automate Kubernetes deployment?

One of the most popular ways to automate a Kubernetes cluster is with Kubespray. Built from Ansible's provisioning and deployment capabilities, they're a highly effective and customizable way to automate clusters.

How do you automate deployment in Azure?

To automate provisioning of Azure resources, you can use Terraform, Ansible, Chef, Puppet, Azure PowerShell, Azure CLI, or Azure Resource Manager templates. To configure VMs, you can use cloud-init (for Linux VMs) or Azure Automation State Configuration (DSC).


2 Answers

You could use KwateeSDCM to both push and start on all the platforms you mention, including mac. However, you'll have to do some coding to get reports out. I'm not familiar with TeamCity but maybe you could push a script along with your application which could then transfer the test results via ftp to a server accessible by TeamCity.

like image 69
Mark Avatar answered Oct 22 '22 11:10

Mark


Have a look at: STAF (Software test Automation Framework)

The Software Testing Automation Framework (STAF) is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services (such as process invocation, resource management, logging, and monitoring).

Which includes STAX:

STAX is an execution engine which can help you thoroughly automate the distribution, execution, and results analysis of your testcases.

And there's an article here: http://agiletesting.blogspot.com/2004/12/stafstax-tutorial.html

like image 1
Mark Irvine Avatar answered Oct 22 '22 12:10

Mark Irvine