TEAMCITY (CI), ASP.NET 5, VIA DOCKER ON LINUX PT(2)

Part Two.. Installing team city into Rancher via docker hub

Note : If you’ve reached this page directly, it’s advised to complete part one of tutorial. Part one covers creating the environment needed to begin deployment of your first container. The installation of process of teamcity once running is also not covered.

Although containers can be installed directly onto hosts I’d advise working at the service level. Services allow more advanced rules for provisioning to be applied and generally make day to day activities easier.

The first part of the process is creating a stack. A stack can contain a range of container types and instances.

I called mine “ContinuousIntegration”Stack.PNG

This is how eventually how your stack will look. In order to create the server click “Add Service”.addservice.PNG

Creating a service looks something like this :  CreateBuildServer.png

  1. Give the service a sensible name.
  2. “Select Image” needs to be set to “aerofs/teamcity”
  3. Ensure port 8111 is open on both public host and mapped to the private container port.
  4. In the networking tab ensure a hostname is specified you’ll need this later when adding a build agent.

Click “Create”.

By default no containers will be provisioned click the “Play” button.playservice.PNG

Next click the service name to drill into the service and the finally on the container name.containerrunning.PNG

Finally paste the “Host IP” followed by “:8111” into a browser and if all’s well teamcity should appear.

In the next part I’ll cover provisioning a build agent.

 

Advertisements

Teamcity (CI), ASP.Net 5, via Docker on Linux PT(1)

Background

Recently I’d set myself the challenge of developing and deploying applications via docker on Linux. An odd challenge yet rewarding!

This series will focus on ultimately how I managed to achieve this and also document some of the pitfalls I fell victim to on the journey.

What I’m attempting here is very much prerelease and is subject to change with some issues being focussed on specific version(s) of frameworks and applications.

Goals :

  • Everything runs / built on Linux, but continues to be cross platform.
  • Everything managed and deployed within docker.

Disclaimer : I’m a complete noob in the Linux world, what I’ve done probably isn’t 100% ideal but hey it works 🙂

Part one… How do I manage all this infrastructure?

The first piece of the puzzle is an excellent containerisation technology called “Docker”. Currently it’s purely in the non windows space but come 2016 windows will have a compatible offering.

If this is completely new I’d suggest spending a few minutes looking around : http://www.docker.com

Not being keen on managing everything via bash in Ubuntu, it was time to look for platform to assist. This tool was Rancher.

Rancher allows servers across any provider to be treated as one via an overlay network. It’s firmly aimed at managing application stacks and I love it! Needless to say I’ll be migrating everything I run onto this platform. Rancher is easy, clear and well thought out.

With this in mind I needed somewhere to host and I settled on Digital Ocean (Use the promotion code ACTIVATE10 for $10 credit) .

Account created I followed this article Multinode deployments with docker.

Upon completion this screen should greet you:

RancherWelcome

In the next post I’ll focus on installing team city as a build server.