<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Continuous integration</title>
        <link>http://blog.smoothfriction.nl/category/7.aspx</link>
        <description>Continuous integration</description>
        <language>nl-NL</language>
        <copyright>Erik van Brakel</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>Getting started with TeamCity : Installing</title>
            <link>http://blog.smoothfriction.nl/archive/2009/11/19/getting-started-with-teamcity-installing.aspx</link>
            <description>&lt;p&gt;For &lt;a href="http://dotlesscss.com"&gt;.Less&lt;/a&gt; we use &lt;a href="http://www.jetbrains.com/teamcity"&gt;TeamCity by JetBrains&lt;/a&gt; for continuous integration. Whenever one of us commits to the master branch, the server notices, runs the tests and produces the binaries we need. When one or more tests fail, the committer gets an e-mail to make sure build errors are noticed as soon as possible. Working like this reduces the friction a lot when working with a team: members of the team are getting direct feedback if something goes wrong, AND there’s always a source for the latest binaries for anyone who likes to run on the bleeding edge.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tigraine.at"&gt;Daniel&lt;/a&gt; set up our TeamCity environment, and I must say, he did a very good job at it. However, this meant that I have no experience setting up the thing, while I do think it’s useful to know how it works. So, I decided to give it a shot. I’m simply going to install it on my windows box, as I don’t really need to deploy it anywhere. I just want to figure out how it works, and have easy access to it.&lt;/p&gt;  &lt;h2&gt;Installing the server&lt;/h2&gt;  &lt;p&gt;Simply go to the &lt;a href="http://www.jetbrains.com/teamcity"&gt;TeamCity website&lt;/a&gt; and download the windows package. This is a around 220 megabytes served from a decent server, so it shouldn’t take you more than a few minutes (you’re a dev, you’ve got a good internet connection, right? RIGHT?). When it’s done, start the installer. It’s a default windows installer, so it should pose no problem.&lt;/p&gt;  &lt;p&gt;I suggest installing the bunch (build client, server, both as windows service), so the defaults are fine. I changed my paths to point to a different home directory though. I like to have things together, so I created a TeamCity folder on my X: drive. My folder layout looks like this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;\ &lt;/li&gt;    &lt;li&gt;\TeamCity &lt;/li&gt;    &lt;li&gt;\TeamCity\bin &lt;/li&gt;    &lt;li&gt;\TeamCity\config &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ve pointed the binaries to the bin folder, and set the default config folder to config. This way my TeamCity files will all be in their own cozy folder. I won’t say you have to do this, but if you like to keep things together like I do, go for it!&lt;/p&gt;  &lt;p&gt;TeamCity has a web interface, which defaults to port 80. I don’t like to have anything that’s not a production website on port 80, so I changed it to another random port number &amp;gt; 1024.&lt;/p&gt;  &lt;p&gt;Alright, now we’ve got the server installed, let’s move on to the next bit:&lt;/p&gt;  &lt;p&gt;Configuring!&lt;/p&gt;  &lt;h2&gt;First steps&lt;/h2&gt;  &lt;p&gt;Make sure your services are running and accessible. Your next work will involve a web-browser and the TeamCity web UI. Open your favorite browser, and navigate to http://localhost:&amp;lt;your port&amp;gt;/. TeamCity will present you with the next installation steps. When asked to create an administrator account, keep in mind that it might be handy to use the same username as you use on your VCS for notification purposes.&lt;/p&gt;  &lt;p&gt;Once you’re done with these simple steps, login to TeamCity using your shiny new administrator account. You’ll see the following screen:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.smoothfriction.nl/blogimages/GettingstartedwithJetBrainsTeamCity_1C76/createproject.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Create project" border="0" alt="Create project" src="http://www.smoothfriction.nl/blogimages/GettingstartedwithJetBrainsTeamCity_1C76/createproject_thumb.png" width="695" height="320" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you see that, you’ll know that everything is alright, and you can start configuring a project!&lt;/p&gt;  &lt;h2&gt;What’s next?&lt;/h2&gt;  &lt;p&gt;.Less uses Git, so we’ll need to install a plugin to allow TeamCity to download sources from a Git repository. There’s basically two options: &lt;a href="http://github.com/chrisortman/git-teamcity"&gt;git-teamcity&lt;/a&gt; on github, by Chris Ortman, or the official JetBrains plugin. Although I usually tend to go for the official releases, we’re going to use the one by Chris. The official plugin has a few restrictions, and we don’t want to have to work around this.&lt;/p&gt;  &lt;p&gt;The next post will deal with building and installing the git plugin. If you want to be prepared, make sure you’ve got a recent Java SDK install and Apache Maven on your machine.&lt;/p&gt;&lt;img src="http://blog.smoothfriction.nl/aggbug/31.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Erik van Brakel</dc:creator>
            <guid>http://blog.smoothfriction.nl/archive/2009/11/19/getting-started-with-teamcity-installing.aspx</guid>
            <pubDate>Thu, 19 Nov 2009 16:54:59 GMT</pubDate>
            <wfw:comment>http://blog.smoothfriction.nl/comments/31.aspx</wfw:comment>
            <comments>http://blog.smoothfriction.nl/archive/2009/11/19/getting-started-with-teamcity-installing.aspx#feedback</comments>
            <wfw:commentRss>http://blog.smoothfriction.nl/comments/commentRss/31.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>