Archive
Please Add .NET for Cloud CI
Sumber : http://www.infoq.com/news/2012/02/travis-cloud-ci
Baru saja dapat kabar bahwa ternyata telah tersedia Continous Integration server on Cloud bernama Travis CI. Tapi sayangnya support masih terbatas untuk beberapa bahasa seperti Ruby, Node.js, Erlang, PHP, Scala. We need .NET support. 😦
Future plan untuk .NET support memang sudah ada. Sepertinhya harus sabar menunggu.
Alternatif lain jika anda memiliki open source project anda dapat mendaftarkan ke CodeBetter Continuous Integration. Servernya menggunakan TeamCity. Mungkin anda memiliki kesempatan untuk bergabung. 🙂
Atau mungkin seseorang ingin melakukan crazy stuff and get hands dirty dengan melakukan deployment Open Source Continuous Integration Server ke Windows Azure ?
Atau jika anda .NET developer mungkin akan lebih mudah untuk mengambil Cruise Control .NET, do some effort and deploy it to Azure. This article maybe can give you a hint
http://stackoverflow.com/questions/5572825/continous-integration-server-in-windows-azure
http://abdullin.com/journal/2008/11/19/using-windows-azure-for-the-continuous-integration.html
Build Automation (NAnt + MSBuild)
NAnt merupakan build automation tools yang open source dan merupakan porting dari java. NAnt dapat di download di NAnt Homepage. Saya biasanya menggunakan NAnt standalone sebagai automation tools. Sehingga IDE Build pada Visual Studio tidak ada fungsinya lagi sama sekali. VS (Visual Studio) hanya sebagai text editor saja dengan kekuatan Intellisense nya. Sayang sekali ya.. Padahal di VS juga kita menambahkan reference terhadap library dan dependency. Di NAnt juga kita melakukan hal yang sama secara manual sehingga ada pekerjaan yang redundant dan membosankan.
Seringkali juga saya menambahkan reference terhadap library di Visual Studio tetapi lupa menambahkannya di NAnt build file. Akhirnya compilasi pun failed. Memang masalah itu sangat mudah diatasi tetapi tetap saja ada duplikasi pekerjaan.
Akhirnya permasalahaan tersebut sedikit memiliki jalan keluar. Ternyata dibalik Build VS tersebut merupakan pekerjaan dari MSBuild. MSBuild mengeksekusi file csproj yang ada pada project kita. File tersebut berisikan XML file yg hampir sama tujuannya dengan file NAnt. Reference tersebut juga telah di definisikan di sana.
... <ItemGroup> <Reference Include="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\external-bin\nomerge\antlr.runtime.dll</HintPath> </Reference> <Reference Include="Antlr3.Runtime, Version=3.1.0.39271, Culture=neutral, PublicKeyToken=3a9cab8f8d22bfb7, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\external-bin\nomerge\Antlr3.Runtime.dll</HintPath> </Reference> <Reference Include="Common.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\external-bin\nomerge\Common.Logging.dll</HintPath> </Reference> ..... <ItemGroup> <ProjectReference Include="..\Messages\Messages.csproj"> <Project>{20F613ED-C871-477C-B1E4-48B96CACF794}</Project> <Name>Messages</Name> </ProjectReference> </ItemGroup> ...
Saya kemudian mendapatkan contoh yang sangat baik untuk memanfaatkan MSBuild dengan NAnt. Contoh tersebut saya dapat dari NServiceBus. Untuk build automation nya NServiceBus mengkombinasikan NAnt dan MSBuild. Silahkan download source code NServiceBus dan pada
folder trunk anda akan menemukan file nant.build. File ini merupakan build file untuk NAnt.
Read more…
Integration Hell……….
Masalah integrasi selalu jadi problem. Menggabungkan hasil pekerjaan para developer pada saat akhir selalu menjadi permasalahan. Developer mengerjakan masing2 pekerjaannya di lingkungannya sendiri. Masing2 hidup dalam isolasi. Ketika akan di integrasikan timbul masalah2 yg muncul. Tidak semua service dapat dijalankan, database yg tidak di update (local update). That’s work ini my pc but not yours. Loh kemaren kan bisa skarang kok gak lagi. Atau malah saling menyalahkan satu sama lain. Hal itu sering terjadi. Malah sudah jadi tradisi.
Continous Integration menyelesaikan penyakit2 tersebut. Hal tersebut tidak tergantung tools tetapi lebih kepada disiplin. Buku Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley 2007) menjelaskan bagaimana mengintegrasikan pekerjaan dengan automatis. Web site dari buku tersebut ada di Integrate Button. Silahkan di explore.
Read more…