Hi, Habr.
I am developing a plugin for Java applications to run .Net code. The project is open, posted on GitHub. And at some time I decided that it would be good to find a Continious Build & Test such that I could assemble a product in it.
After a little searching, I came across a rather interesting and simple solution.
')
Disclaimer: I have no relation to the development of this product, I do not know the author, etc. I just liked this service, and I decided to write a post.
So, the task: to find a SaaS service that would solve the following tasks:
- Easy integration with GitHub
- Easy system setup
- Ability to run an arbitrary script for tests (I needed to run a Java application to verify that the plugin got accustomed, and so on)
- Availability of a free tariff plan (with limitations, of course)
Naturally, at first I went through a couple of options. I can not say that I was looking for it thoroughly, but one of the ideas was to find the Team City SaaS solution and use it. This is logical, since Team City itself is written in Java, and it can run MS Build. My searches were not successful, however, I found the
answer to StackOverflow , where the author
AppVeyor advertised his service a little.
I tried to drive it, and I liked the interface of this solution:
Enough to work with him enough account on GitHub. The system will put hooks on push operations and will closely monitor the repository. In general, the service has a lot of advantages (from my point of view):
- Easy initial configuration. We connect the account; say where sln files are. All the builds you already have.
- Several test modes: You either run standard Unit-tests, or run your own script, which I wanted /
- Several Deployment options, in particular, you can update the beta version of your site (including in the cloud) automatically. And most importantly - it can be easily and quickly set up. You can even automatically upload a NuGet package after a successful build.
- As you can see in the picture, this system can put a version of the build into files automatically, so to speak, out of the box.
- The configuration can be stored in the repository itself using YAML files.
As I said above, I needed Java to run the tests. On build machines it was not. I wrote a wish on the site, and after a couple of hours Java was on the machines. Very cool service in this regard.
Naturally, all this is more suitable for small “home” projects, since, unlike Team City, TFS and similar systems, here you do not have complete control over the build process, you cannot, for example, make a Build of some Solution ' and after performing the tests from the previous one. However, if there is a desire to quickly set up a build, then it is easy to satisfy with the help of this system.
And once again: I have nothing to do with this service and its development. The purpose of the post: show another simple way to set up a build for your repository.
Link:
http://www.appveyor.com/