Menginstall Server NuGet Lokal

Posted by Kamarudin • 3 minute read • Comments

Pada postingan sebelumnya kita sudah membahas apa itu NuGet, cara instalasi berikut contoh penggunaannya.

Sesuai judul postingan kali ini, kita akan menginstall sendiri server NuGet untuk keperluan internal.

Ada beberapa alasan kenapa harus menginstall server NuGet sendiri :

1. Untuk menghemat bandwidth internet

Contoh beberapa library yang sering saya gunakan untuk pembuatan aplikasi (sesuai kebutuhan) :

  • ClosedXML, ClosedXML makes it easier for developers to create Excel 2007/2010 files. It provides a nice object oriented way to manipulate the files (similar to VBA) without dealing with the hassles of XML Docume
  • Dapper, A high performance Micro-ORM
  • DockPanelSuite, The docking library for .Net Windows Forms development which mimics Visual Studio .Net.
  • EntityFramework, Entity Framework is Microsoft’s recommended data access technology for new applications.
  • FirebirdSql.Data.FirebirdClient
  • FirebirdSql.Data.FirebirdClient-EF6
  • GSMComm, SMS libraries for GSM phones
  • Json .NET, Json.NET is a popular high-performance JSON framework for .NET
  • RestSharp, Simple REST and HTTP API Client

Lumayan banyak bukan ? Jika setiap ingin menambahkan library di atas kita harus mendownload dari NuGet Gallery tentu sedikit banyaknya akan menghabiskan bandwith internet, belum lagi kalo koneksi internetnya mati.

2. Sebagai media sharing library

Misal kita ingin membuat library yang akan digunakan oleh beberapa programmer, kemudian seiring dengan waktu tentunya library ini akan ada perbaikan atau penambahan fitur-fitur terbaru.

Jika setiap ada perubahan tentunya kurang efektif jika library tersebut dicopy via flash disk, share folder atau media lainnya, belum lagi harus menghapus library versi yang lama, mendaftarkan library yang terbaru, tentunya ini pekerjaan yang membosankan, sehingga server NuGet lokal bisa menjadi salah satu alternatif terbaik untuk mempermudah sharing library.

Dengan dua alasan di atas saya rasa sudah cukup untuk memotivasi kita untuk membuat server NuGet sendiri.

Oke langsung saja, sudah cukup untuk intronya, untuk langkah-langkah berikut, saya menggunakan Windows 7.

1. Menginstall IIS (Internet Information Services)

Langkah-langkahnya bisa dicek disini.

2. Membuat Project ASP .NET

Berikut langkah-langkahnya :

  • Aktifkan Visual Studio .NET, untuk contoh di sini saya menggunakan Visual Studio 2010
  • Buat project baru dengan tipe ASP.NET Empty Web Application

  • Tambahkan paket NuGet.Server dengan cara klik kanan References -> Manage NuGet Packages

ketik Nuget.server, kemudian klik tombol Install

tunggu sampai proses download selesai

Pilih I Accept, kemudian tunggu sampai proses instalasi selesai

  • Setelah berhasil menambahkan paket NuGet.Server, langkah berikutnya adalah menentukan lokasi paket NuGet, dengan cara mengedit file Web.Config

kemudian edit nilai dari packagesPath, misal : D:\ServerNuGetLocal\Packages

  • Setelah menentukan lokasi paket NuGet, langkah berikutnya adalah mempublish (deploy) project ASP.NET yang baru kita buat, dengan cara klik kanan project -> Publish…

3. Mendaftarkan Project ASP .NET ke IIS

Project ASP.NET yang sudah kita buat sebelumnya membutuhkan web server IIS untuk bisa dijalankan, sehingga langkah berikutnya adalah mendaftarkannya ke IIS.

Adapun langkah-langkahnya seperti berikut :

  • Aktifkan IIS (Internet Information Services)
  • Klik kanan node Default Web Site -> Add Application

    Tentukan nilai Alias, Application pool dan Physical path, khusus untuk nilai physical path mengacu pada langkah-langkah sebelumnya.

  • Setelah berhasil menambahkan node NuGet ke IIS, coba ketik url : http://localhost/NuGet/ di browser Anda

    Jika tampil seperti gambar di atas, berarti proses registrasi server NuGet lokal berhasil, dan jika ingin melihat paket apa saja yang sudah tersedia klik link here.

    Terlihat pada gambar di atas paket di server NuGet lokal kita masih kosong.

4. Mendownload paket yang sering digunakan

Untuk mendownload paket NuGet yang sudah tersedia di NuGet Gallery, gunakan url dengan format : https://www.nuget.org/api/v2/package/{packageID}/{packageVersion}, contoh :

  • https://www.nuget.org/api/v2/package/ClosedXML/0.69.2
  • https://www.nuget.org/api/v2/package/Dapper/1.13.0
  • https://www.nuget.org/api/v2/package/DockPanelSuite/2.9.0
  • https://www.nuget.org/api/v2/package/EntityFramework/6.0.2
  • https://www.nuget.org/api/v2/package/FirebirdSql.Data.FirebirdClient/4.0.0 https://www.nuget.org/api/v2/package/FirebirdSql.Data.FirebirdClient-EF6/4.0.0 (support Entity Framework)
  • https://www.nuget.org/api/v2/package/GSMComm/1.21.0
  • https://www.nuget.org/api/v2/package/Newtonsoft.Json/5.0.8
  • https://www.nuget.org/api/v2/package/RestSharp/104.4.0

Jangan lupa hasil downloadnya disimpan di folder package.

Setelah itu kita cek lagi paket di server NuGet lokal.

Sippp, paket di server NuGet lokal kita sudah tersedia :)

5. Menambahkan url server NuGet lokal ke package sources

Saatnya mendaftarkan server NuGet kita ke Visual Studio, langkah-langkahnya seperti berikut :

  • Jalankan Visual Studio .NET (saya menggunakan versi 2010)
  • Klik menu Tools -> NuGet Package Manager -> Package Manager Settings
  • Aktifkan node Package Source, klik tombol Add/Tambah

  • Isikan Name dan Source, klik Update akhiri dengan Ok.

Terakhir coba aktifkan dialog NuGet Package Manager, kemudian cek pilihan “Server Nuget Local”.

Selamat mencoba :blush:

Comments