Teamcity – Continuous Integration (Sürekli Entegrasyon)

Contiuous Integration Türkçe’de mot-a-mot anlamı “sürekli entegrasyon“‘dur. Peki ne işe yarar ? CI her checkin(TFS’de) veya commit(Git’te)’te projenizi alıp derler(build), test eder, döküman oluşturur ve yayınlar(deploy). Bu sayede olası hataların tespiti hızlı olur ve sürekli güncel bir dökümantasyon oluşur. CI için çeşitli araçlar vardır, bunlardan bazıları;Teamcity, Jenkins, Myget, Appveyor…

Teamcity’nin kurulumuna gelecek olursak, resimlerle anlatmaya çalışacağım…

https://www.jetbrains.com/teamcity adresine giriyoruz ve “Get TeamCity X.X Now” a tıklıyoruz. İnen dosyayı çalıştırıyoruz.
Teamcity Download
Standart yükleme işlemleri “Next”
Teamcity Setup 1
Lisans sözleşmesini okudum ve kabul ediyorum “I Agree”
Teamcity Setup 2
TeamCity’nin kurulacağı dosya dizini
Teamcity Setup 3
Build için gerekli “Build Agent” ve sistem için gerekli “Server”ı seçiyoruz.
Teamcity Setup 4
TeamCity’nin veri yolunu seçiyoruz (Değiştirmenize gerek yok)
Teamcity Setup 5
Yükleniyor…
Teamcity Setup 6
TeamCity’nin çalışacağı portu seçiyoruz(boş olan bir portu verebilirsiniz.)
Teamcity Setup 8
ServerUrl: TeamCity’nin paneline gireceğimiz yol.

workDir: Build Agent’ın dosyaları indirip derlediği klasör

Teamcity Setup 9
Teamcity’e izin veriyoruz.
Teamcity Setup 10
Build Agent’ın özellikleri buraya kaydettim diye uyarı geliyor.
Teamcity Setup 11
Ben burda SYSTEM hesabı altında çalıştırdım dedim ama siz başka hesapla da başlatabilirsiniz.
Teamcity Setup 12
Aynı şekilde Agent için de yukardaki geçerli.
Teamcity Setup 13
Agent ve TeamCity Server’ı başlatıyoruz.
Teamcity Setup 14
Kurulum bitti, TeamCity’i açma zamanı.
Teamcity Setup 15
Başlamadan önce C:\ProgramData\JetBrains\TeamCity içinde mi gözden geçirin ve devam edin(proceed)
Teamcity Setup 16
Bu aşamada TeamCity kurulumlarını yapıyor ve sizden TeamCity verilerini tutmak için bir veritabanı seçmenizi isteyecek. Ben MS SQL’i seçtim. Bunun TeamCity için JDBC driver’a ihtiyaç duyuyor. http://www.microsoft.com/en-us/download/details.aspx?id=11774  adresinden hemen “Download”a tıklıyoruz.
Teamcity Setup 17
sqldbc_x.x.xxxx.xx_enu.exe yi seçip “Next” diyoruz
Teamcity Setup 18
İnen dosyası “Unzip”e tıklayıp çıkarıyoruz.
Teamcity Setup 19
Bize lazım olan dosyayı”sqljdbc4″ kopyalıyoruz
Teamcity Setup 20
C:\Programdata\JetBrains\TeamCity\lib\jdbc yoluna kopyalıyoruz.
Teamcity Setup 21
Ek not: Eğer TCP/IP durumunuz “disabled” ise onu “enable” yapmanız gerekiyor. TeamCity’nin MS SQL’e bağlanabilmesi için gerekli.
Teamcity Setup 22.1
Ek not 2: SQL Server’ı yeniden başlatıyoruz.
Teamcity Setup 22.2
“Refresh JBDC drivers” dediğimiz artık “Loaded MS SQL Server JDBC driver version x.x” demesi gerekiyor. SQL’e “sa” şifresi atamadıysanız “windows authentication” ile de girebilirsiniz ama güvenlik için şifre vermenizde yarar var. Veritabanımıza bir isim veriyoruz “Database name” (Veritabanını MSSQL’e girip elle eklemeniz gerekiyor). sonra devam “proceed”.
Teamcity Setup 22
TeamCity lisans sözleşmesi.
Teamcity Setup 23
Bir tane yönetici hesabı oluşturuyoruz
Teamcity Setup 24
ve TeamCity panelimiz 🙂
Teamcity Setup 25
“Create project from URL” e tıklıyoruz. Ve visualstudio.com’da bir proje açıyoruz.
Teamcity Setup 26Teamcity Setup 26_2
Visualstudio.com hesabınıza girip “Create project”e tıklayıp ben örnek bir proje oluşturuyorum. (TFS ile)
Teamcity Setup 27
“Open with VS to connect” e tıklayıp hızlıca projemizi açabiliriz.
Teamcity Setup 28
Chrome uyarı fırlatacak “Launch App.” e tıklayın.
Teamcity Setup 29
VisualStudio.com hesabınızla giriş yapın.
Teamcity Setup 30
Artık TeamcityExample projemize bağlandık. Ama bir de Map ayarı yapmamız lazım. Ben TFS ana dizini ile “C:\ExampleSpace” i eşledim. Siz de istediğiniz bir yolu verebilirsiniz.
Teamcity Setup 31
Solutions kısmından “New” e tıklayın.
Teamcity Setup 32
Bir tane Web Application oluşturalım. Ben ismini “TeamcityExample” olarak verdim.
Teamcity Setup 33
Unit test içeren basit bir MVC projesi seçtim.
Teamcity Setup 34
Oluşan projemi checkin yaptım.
Teamcity Setup 35
Proje dosyalarım VisualStudio.com’da
Teamcity Setup 36
Teamcity’den visualstudio.com’a bağlanmak için alternatif giriş yöntemini aktif ediyoruz.
Teamcity Setup 37
“enable alternate credentials” tıklayınca aşağıdaki ekran gelecek. Bir tane kullanıcı adı ve şifre belirleyelim.
Teamcity Setup 38
Visual studio hesabımızdaki projemizin yolunu gireceğiz ve yukarda tanımladığımız kullanıcı adı ve şifreyi gireceğiz. ve devam “proceed”
Teamcity Setup 39
Projemize ve Build ayarlarına isim veriyoruz. ve devam “proceed”
Teamcity Setup 40
Verilen proje bağlantısından 2 dosya derinliğine kadar “solution” dosyasını yani “.sln” ile biten dosya bulabilirse otomatik build step’ini oluşturuyor. Yoksa kendimiz yapmamız gerekiyor. “Use selected” diyoruz. Sonra sağ üstten “run” a tıklıyoruz.
Teamcity Setup 41
Build başarıyla geçti.

Not: Proje büyüdükçe yüklenmesi gereken referanslar gerekiyor ve build hata veriyor. Bu yüzden Nuget’i aktif etmemiz gerekiyor.
Teamcity Setup 42
Nuget sayfasından “NuGet Server is enable” yapıyoruz.
Teamcity Setup 43
NuGet.exe tabına geldip “Fetch NuGet” diyoruz.
Teamcity Setup 44
NuGet’in son sürümünü seçip “Add” diyoruz.
Teamcity Setup 45
Build adımlarımız. “Add build step” e tıklıyoruz.
Teamcity Setup 46
“Runner type”tan “Nuget Installer” ı seçiyoruz. “Path To Solution File”dan “.sln” dosyamızı seçiyoruz.
Teamcity Setup 47
“NuGet Installer” adımını en yukarı alıyoruz ki ilk önce referanslar yüklensin.
Teamcity Setup 48
Tekrar “Add build step” dedikten sonra “MsTest” tipinde bir “Runner” oluşturuyoruz. “List assembly files” a test edeceğimiz projelerin yollarını yazıyoruz. Yıldızlı(*) ifade “herhangi” bir anlama geliyor. Ayrıca bakarsınız.
Teamcity Setup 49
Tekrar “Add build step” dedikten sonra “MSBuild” ekliyoruz. “Build file path”‘den “publish” yapacağımız projeyi seçiyoruz. “Targets” kısmında projeyi önce temizliyoruz “Clean”, sonra derliyoruz “Build”, sonra yayınlıyoruz “Publish”. “Command line parameters” a ise

/t:Package
/p:_PackageTempDir=”C:\ExampleSpace\TeamcityExamplePublish”
/p:Configuration=”Debug”
/p:AutoParameterizationWebConfigConnectionStrings=False

yazıyoruz. Burda “C:\ExampleSpace\TeamcityExamplePublish” dosyasına “Debug” build ayarı ile derlenen proje “ConnectionString”i otomatik parametre almadan yayınlanır. Yani IIS’te açtığınız bir sitenin adresini (TeamCity ile aynı sunucuda olduğunu varsayıyorum) rahatlıkla yazıp yayınlayabilirsiniz.

Teamcity Setup 50
“Build” adımlarımızın son hali
Teamcity Setup 51
Run dedikten sonra derlenen, testlerden geçen ve yayınlanan sitemiz.
Teamcity Setup 52
Yayınlanması için verdiğimiz dosya yoluna projenin eklendiğini görüyoruz.
Teamcity Setup 53

No Comments, Be The First!

Your email address will not be published.