Puji dan syukur diucapkan kepada Allah SWT atas selesainya ebook sederhana yang berjudul
ASP.NET Core 1.0: Installasi & Deployment.
Pada ebook ini akan diterangkan tentang ASP.NET Core 1.0, dimana framework ini
merupakan platform multiplatform sehingga dapat digunakan pada platform Windows, Mac
OSX dan juga Linux. Pada ebook ini akan dipaparkan langkah-langkah installasi pada masing-
masing platform secara detail sehingga mudah diikuti pembaca. Selain ini pada ebook ini akan
dicontohkan cara membuat project aplikasi web sederhana dengan framework ini dan
melakukan deployment sehingga aplikasi web tersebut dapat diakses pada web browser.
Akhir kata, selamat membaca dan semoga ebook ini bermanfaat bagi para web developer agar
tidak perlu khawatir lagi kendala platform untuk membuat aplikasi web dengan
menggunakan framework ASP.NET. Kritik dan saran akan sangat berarti dan dapat ditujukan
via email.
M Reza Faisal
Email: reza.faisal (at) gmail (dot) com
I
Daftar Isi
Kata Pengantar ............................................................................................... I
Daftar Isi ........................................................................................................ II
Daftar Gambar ............................................................................................. IV
1 Pendahuluan ............................................................................................. 1-1
ASP.NET Core 1.0........................................................................................... 1-1
Web Server ...................................................................................................... 1-2
Kestrel ..................................................................................................................... 1-2
Internet Information Services (IIS)...................................................................... 1-2
II
4 Installasi pada Mac OS X .................................................................... 4-23
Install Mono .................................................................................................. 4-23
Install ASP.NET Core 1.0 for Mac OS X .................................................. 4-26
Installasi dengan Command-Line..................................................................... 4-26
Installasi dengan Aplikasi Installer .................................................................. 4-27
7 Penutup.................................................................................................... 7-66
III
Daftar Gambar
Gambar 1. Arsitektur ASP.NET Core 1.0 (Sumber: www.hanselman.com) ...............................1-1
Gambar 2. Proses request-response pada Kestrel. .........................................................................1-2
Gambar 3. Proses request-response pada IIS. .................................................................................1-3
Gambar 4. Command Prompt...........................................................................................................2-4
Gambar 5. Window Administrator: Command Prompt. ..............................................................2-5
Gambar 6. Proses mengunduh dan install DNVM. .......................................................................2-5
Gambar 7. DNVM...............................................................................................................................2-6
Gambar 8. Mengunduh runtime coreclr. .........................................................................................2-6
Gambar 9. Status installasi runtime coreclr. ...................................................................................2-7
Gambar 10. Daftar runtime coreclr. .................................................................................................2-7
Gambar 11. Mengaktifkan runtime versi 1.0.0-rc1-update1. ........................................................2-8
Gambar 12. Mengaktifkan runtime default. ...................................................................................2-8
Gambar 13. Installasi Microsoft ASP.NET RC1 Update 1. ............................................................2-9
Gambar 14. Installasi DNX. ...............................................................................................................2-9
Gambar 15. Installasi Microsoft ASP.NET and Web Tools. ........................................................2-10
Gambar 16. Template ASP.NET Core 1.0. .....................................................................................2-10
Gambar 17. Template project ASP.NET Core 1.0 (masih menggunakan nama ASP.NET 5). 2-11
Gambar 18. Perintah update: sudo apt-get update. .....................................................................3-12
Gambar 19. Proses update. ..............................................................................................................3-13
Gambar 20. Proses install atau update paket pendukung. .........................................................3-14
Gambar 21. DNVM. ..........................................................................................................................3-14
Gambar 22. Proses installasi mono.................................................................................................3-15
Gambar 23. Upgrade runtime mono. .............................................................................................3-16
Gambar 24. Upgrade runtime coreclr. ...........................................................................................3-16
Gambar 25. Daftar runtime. ............................................................................................................3-17
Gambar 26. Mengaktifkan runtime mono versi 1.0.0-rc1-update2. ...........................................3-18
Gambar 27. Proses ekstrak file arsip v1.8.0.tar.gz. .......................................................................3-19
Gambar 28. Menjalankan script autogen.sh ..................................................................................3-20
Gambar 29. Proses configure. .........................................................................................................3-21
Gambar 30. Proses make. .................................................................................................................3-21
Gambar 31. Proses make install. .....................................................................................................3-22
Gambar 32. Install Mono Framework: Introduction. ...................................................................4-23
IV
Gambar 33. Install Mono Framework: Read Me. .........................................................................4-24
Gambar 34. Install Mono Framework: License. ............................................................................4-24
Gambar 35. Install Mono Framework: Installation Type. ...........................................................4-25
Gambar 36. Install Mono Framework: Installation. .....................................................................4-25
Gambar 37. Install Mono Framework: Summary. ........................................................................4-26
Gambar 38. Proses mengunduh dnvm dan installasi. .................................................................4-27
Gambar 39. Informasi bantuan perintah dnvm. ...........................................................................4-27
Gambar 40. Install .NET Execution Environment: Introduction. ...............................................4-28
Gambar 41. Install .NET Execution Environment: License. ........................................................4-28
Gambar 42. Install .NET Execution Environment: Installation Type. .......................................4-29
Gambar 43. Install .NET Execution Environment: Summary. ....................................................4-29
Gambar 44. Arsitektur Docker (Sumber: https://docs.docker.com). ..........................................5-30
Gambar 45. Update informasi paket. .............................................................................................5-31
Gambar 46. Install CA certificate. ...................................................................................................5-32
Gambar 47. Menambahkan kunci PGP..........................................................................................5-32
Gambar 48. Perintah untuk membersihkan repository lama. ....................................................5-33
Gambar 49. Perintah untuk setup repository baru. .....................................................................5-33
Gambar 50. Update index paket APT dengan repository baru. .................................................5-34
Gambar 51. Installasi paket linux-image-extra. ............................................................................5-35
Gambar 52. Install paket apparmor. ..............................................................................................5-36
Gambar 53. Install docker-engine...................................................................................................5-36
Gambar 54. Install paket docker-engine selesai dilakukan.........................................................5-37
Gambar 55. Menjalankan service docker.......................................................................................5-37
Gambar 56. Hello World pada Docker. .........................................................................................5-38
Gambar 57. Mengunduh source code contoh aplikasi web ASP.NET Core 1.0. ......................5-39
Gambar 58. Proses pembuatan docker image...............................................................................5-40
Gambar 59. Menjalankan Cointainer. ............................................................................................5-41
Gambar 60. System type 64-bit. ......................................................................................................5-41
Gambar 61. Virtualization: Enabled. ..............................................................................................5-42
Gambar 62. Welcome screen. ..........................................................................................................5-43
Gambar 63. Pemilihan komponen yang diinstall. ........................................................................5-43
Gambar 64. Memilih task tambahan. .............................................................................................5-44
Gambar 65. Installasi. .......................................................................................................................5-44
Gambar 66. Installasi komponen yang dipilih..............................................................................5-45
Gambar 67. Shortcut Docker. ..........................................................................................................5-45
V
Gambar 68. Menonaktifkan fitur Hyper-V. ..................................................................................5-46
Gambar 69. Terminal docker. ..........................................................................................................5-46
Gambar 70. Docker hello-world. ....................................................................................................5-47
Gambar 71. Halaman depan GitHub. ............................................................................................6-48
Gambar 72. Sign up GitHub. ...........................................................................................................6-49
Gambar 73. Sign in GitHub. ............................................................................................................6-49
Gambar 74. Halaman pengelolaan repository. .............................................................................6-50
Gambar 75. Membuat repository HelloWorld..............................................................................6-50
Gambar 76. Repository HelloWorld...............................................................................................6-51
Gambar 77. Manage Connection. ...................................................................................................6-51
Gambar 78. Login GitHub. ..............................................................................................................6-52
Gambar 79. Status koneksi ke GitHub. ..........................................................................................6-52
Gambar 80. Start Page Visual Studio 2015. ...................................................................................6-52
Gambar 81. Membuat project web. ................................................................................................6-53
Gambar 82. New ASP.NET Project HelloWorld. ......................................................................6-53
Gambar 83. Source code project & status Git Repositories. ........................................................6-54
Gambar 84. Solution Explorer Status Pending edit...................................................................6-55
Gambar 85. Commit source code. ..................................................................................................6-56
Gambar 86. Commit All. ..................................................................................................................6-56
Gambar 87. Mengisi link HelloWorld.git. .....................................................................................6-57
Gambar 88. Source code aplikasi web HelloWorld pada repository GitHub. .........................6-57
Gambar 89. Deployment ke IIS. ......................................................................................................6-58
Gambar 90. Aplikasi web ditampilkan pada web browser. .......................................................6-58
Gambar 91. Folder D:\Data\ASPNET\HelloWorld. ..................................................................6-59
Gambar 92. Command Prompt. ......................................................................................................6-59
Gambar 93. Perintah dnu restore dan dnx web. ...........................................................................6-60
Gambar 94. Akses web server Kestrel. ..........................................................................................6-60
Gambar 95. Proses deployment di Linux. .....................................................................................6-61
Gambar 96. Akses aplikasi ASP.NET Core 1.0 di Linux. ............................................................6-62
Gambar 97. Output perintah-perintah. ..........................................................................................6-63
Gambar 98. Langkah-langkah pembuatan docker image. ..........................................................6-64
Gambar 99. Menjalankan container docker image. ......................................................................6-65
VI
1
Pendahuluan
1-1
Web Server
Seperti aplikasi web pada umumnya, aplikasi yang dibangun dengan menggunakan
framework ASP.NET Core 1.0 juga memerlukan web server untuk agar bisa diakses dari web
browser sebagai web client.
Pada framework ASP.NET sebelumnya digunakan Internet Information Services (IIS) sebagai
web server. Tetapi karena IIS hanya dapat berjalan pada platform Windos maka selain IIS
juga telah disediakan Kestrel sebagai open-source HTTP server dan cross-platform untuk
ASP.NET Core 1.0.
Kestrel
Berbeda dengan Apache dan IIS yang didesain untuk banyak kebutuhan umum web server
dan juga dapat mendukung banyak bahasa pemrograman dan banyak fitur seperti browsing
direktori dan lain-lain. Sedangkan Kestrel didesain hanya untuk hosting ASP.NET Core 1.0.
Kestrel dibangun di atas library berikut ini:
1. libuv adalah library open-source untuk asynchronous event yang digunakan oleh
Node.js. Library ini menyediakan asynchronous TCP socket dalam OS-agnostic.
2. SslStream adalah class .NET framework untuk mengubah stream biasa menjadi
stream TLS sehingga memungkinkan dukungan HTTPS pada Kestrel.
Berikut ini adakan proses request-response pada Kestrel.
1-2
Gambar 3. Proses request-response pada IIS.
Referensi
https://leanpub.com/aspnetdeployment/read
https://docs.asp.net/en/latest/conceptual-overview/aspnet.html
http://www.rezafaisal.net/?p=2223
1-3
2
Instalasi pada Windows
Pada bab ini akan dijelaskan langkah-langkah untuk installasi ASP.NET Core 1.0 dan
komponen pendukungnya pada platform Windows. Uji coba ini dilakukan pada Windows
10 tetapi tidak menutup kemungkinan langkah-langkahnya tidak akan berbeda jika dilakukan
pada Windows 8 atau Windows 8.1.
Pada platform Windows terdapat dua cara installasi yaitu:
1. Installasi dari command line.
2. Installasi dengan Visual Studio.
Selama proses installasi akan ada proses mengunduh file-file yang dibutuhkan sehingga
sebaiknya pastikan komputer yang digunakan telah tersambung pada internet.
2-4
Selanjutnya akan ditampilkan window Administrator: Command Prompt seperti gambar di
bawah ini.
Untuk menguji coba apakah DNVM sudah diinstall dapat dilakukan dengan menulis perintah
dnvm dan akan dapat dilihat output seperti gambar di bawah ini.
2-5
Gambar 7. DNVM.
Installasi Runtime
Langkah ketiga adalah mengunduh dan menginstall runtime coreclr dengan perintah berikut.
Kemudian dilanjutkan dengan proses installasi runtime, setelah selesai maka akan dapat
dilihat status seperti pada gambar di bawah ini.
2-6
Gambar 9. Status installasi runtime coreclr.
Mengelola Runtime
Langkah terakhir adalah menggunakan perintah dnvm untuk memeriksa dan mengelola
runtime yang digunakan. Dalam sebuah komputer dimungkinkan untuk memiliki runtime
coreclr lebih dari satu tetapi hanya satu saja yang dapat diaktifkan atau digunakan. Perintah
dnvm merupakan juga dapat digunakan untuk melihata daftar runtime yang ada. Berikut
adalah perintah yang digunakan.
dnvm list
Dan pada gambar di bawah ini dapat dilihat daftar runtime yang ada.
Dari gambar dapat dilihat runtime yang aktif ditandai dengan tanda bintang yaitu runtime
clr versi 1.0.0-rc1-update2 untuk arsitektur x64.
Selain itu perintah dnvm juga dapat digunakan menentukan runtime mana yang ingin
diaktifkan dengan sintaks seperti berikut.
Sehingga jika ingin menggunakan atau mengaktifkan runtime coreclr versi 1.0.0-rc-update1
untuk arsitektur x86 maka digunakan perintah sebagai berikut.
2-7
Dan dapat dilihat runtime yang aktif dengan perintah berikut.
Selain itu juga dapat digunakan cara yang lebih ringkas dengan menggunakan alias. Sebagai
contoh, pada daftar di atas terdapat satu runtime yang telah memiliki alias yaitu default,
sehingga jika ingin menggunakannya cukup dilakukan dengan perintah berikut.
2-8
Proses installasi akan dimulai jika file tersebut dieksekusi dengan klik double dan akan dapat
dilihat window seperti berikut ini. Installer yang dilihat pada gambar di bawah ini masih
menggunakan nama ASP.NET 5 bukan ASP.NET Core 1.0.
2-9
Installasi Microsoft ASP.NET and Web Tools
Selanjutnya adalah proses intallasi Microsoft ASP.NET and Web Tools 2015.1 (RC1 Update 1)
seperti yang terlihat pada gambar di bawah ini.
Untuk melihat apakah installasi telah berhasil maka dapat dilihat pada template project pada
Visual Studio seperti pada gambar di bawah ini.
Pada template project ASP.NET Core 1.0 masih menggunakan nama ASP.NET 5 seperti pada
gambar di bawah ini.
2-10
Gambar 17. Template project ASP.NET Core 1.0 (masih menggunakan nama
ASP.NET 5).
Referensi
http://www.rezafaisal.net/?p=2618
2-11
3
Installasi pada Linux
Pada bab ini akan dijelaskan langkah-langkah untuk menginstall ASP.NET Core 1.0 pada
Linux. Distribusi Linux yang digunakan pada uji coba adalah Ubuntu Server 14.04.14. Penulis
sudah mencoba installasi pada Ubuntu Server 15 tetapi tidak berhasil karena kurangnya
dukungan terhadap library libicu-dev pada versi ini.
Langkah-langkah yang dilakukan pada bab ini memerlukan koneksi internet, karena ada
beberapa perintah yang akan melakukan mengunduhan file binary atau source code dari
internet.
Uji coba yang penulis lakukan pada ebook ini menggunakan Virtual Machine pada Microsoft
Azure.
Update Paket
Langkah pertama adalah memastikan telah menggunakan update paket yang terbaru. Untuk
mengupdate sistem dengan paket terbaru dapat digunakan perintah berikut ini.
Dan jika sukses di akhir proses akan dapat dilihat seperti pada gambar berikut ini.
3-12
Gambar 19. Proses update.
Pada gambar di bawah ini dapat dilihat proses dari perintah di atas. Dapat dilihat pada
gambar di bawah ini bahwa semua paket telah diinstall dan telah menggunakan versi terbaru.
3-13
Gambar 20. Proses install atau update paket pendukung.
Setelah proses selesai, maka dapat dipanggil perintah dnvm untuk memastikan proses
installasi berhasil.
3-14
Install Mono
Pada langkah keempat ini dilakukan proses installasi mono. Mono adalah .NET framework
yang bersifat cross-platform dan open-source. Komponen ini diinstall sebagai paket
pendukung jika ingin menggunakan runtime ASP.NET Core 1.0 dan juga digunakan untuk
menjalankan Microsoft .NET Execution Environtment (DNX) dan juga DNX Utility (DNU).
Berikut ini adalah perintah yang digunakan untuk menginstall mono.
Jika pada sistem telah diinstall paket ini maka akan dilihat output seperti pada gambar di
bawah ini.
Dan juga dipastikan paket ca-certificates-mono telah diinstall, berikut ini adalah perintah
yang digunakan untuk menginstall paket tersebut.
Install Runtime
Langkah kelima adalah menginstall runtime coreclr dan mono. Untuk menginstall runtime
mono digunakan perintah berikut ini.
Perintah di atas akan menginstall runtime mono jika belum ditemukan runtime tersebut dan
akan melakukan upgrade jika paket sudah diinstall dan terdapat paket dengan versi yang
lebih tinggi. Berikut adalah output jika pada sistem telah dimiliki runtime ini.
3-15
Gambar 23. Upgrade runtime mono.
Perintah di atas akan menginstall runtime coreclr jika belum ditemukan runtime tersebut dan
akan melakukan upgrade jika paket sudah diinstall dan terdapat paket dengan versi yang
lebih tinggi. Berikut adalah output jika pada sistem telah dimiliki runtime ini.
Mengelola Runtime
Langkah terakhir adalah menggunakan perintah dnvm untuk memeriksa dan mengelola
runtime yang digunakan. Dalam sebuah komputer dimungkinkan untuk memiliki runtime
coreclr lebih dari satu tetapi hanya satu saja yang dapat diaktifkan atau digunakan. Perintah
dnvm merupakan juga dapat digunakan untuk melihata daftar runtime yang ada. Berikut
adalah perintah yang digunakan.
3-16
dnvm list
Dan pada gambar di bawah ini dapat dilihat daftar runtime yang ada.
Dari gambar dapat dilihat runtime yang aktif ditandai dengan tanda bintang yaitu runtime
coreclr versi 1.0.0-rc1-update2 untuk arsitektur x64.
Selain itu perintah dnvm juga dapat digunakan menentukan runtime mana yang ingin
diaktifkan dengan sintaks seperti berikut.
Sehingga jika ingin menggunakan atau mengaktifkan runtime coreclr versi 1.0.0-rc-update1
untuk arsitektur x86 maka digunakan perintah sebagai berikut.
3-17
Gambar 26. Mengaktifkan runtime mono versi 1.0.0-rc1-update2.
Selain itu juga dapat digunakan cara yang lebih ringkas dengan menggunakan alias. Sebagai
contoh, pada daftar di atas terdapat satu runtime yang telah memiliki alias yaitu default,
sehingga jika ingin menggunakannya cukup dilakukan dengan perintah berikut.
Pada gambar di bawah ini dapat dilihat proses ekstrak file arsip di atas.
3-18
Gambar 27. Proses ekstrak file arsip v1.8.0.tar.gz.
Kompilasi
Kemudian adalah langkah kompilasi source code libuv. Sehingga terlebih dahulu pindah
direktori ke folder tempat source code disimpan yaitu pada /usr/local/src dengan perintah
berikut.
cd /usr/local/src/libuv-1.8.0
Dan dilanjutkan dengan menjalankan script autogen.sh dengan cara menulis perintah di
bawah ini.
sudo sh autogen.sh
3-19
Gambar 28. Menjalankan script autogen.sh
sudo ./configure
Pada gambar di bawah ini dapat dilihat proses eksekusi perintah di atas.
3-20
Gambar 29. Proses configure.
sudo make
3-21
Gambar 31. Proses make install.
Setelah proses kompilasi selesai, maka hasil paket tersebut berupa file executable ldconfig.
Untuk menjalankan file ini dapat dilakukan dengan mengetikan perintah berikut.
sudo ldconfig
Perintah ini diperlukan untuk menjalan perintah dnu dan dnx yang keduanya berfungsi
untuk menjalankan web server sebagai fasilitas self hosting dari project web aplikasi ASP.NET
Core 1.0.
Referensi
http://www.rezafaisal.net/?p=2676
3-22
4
Installasi pada Mac OS X
Pada bab ini akan dijelaskan langkah-langkah untuk menginstall runtime ASP.NET pada Mac
OSX. Versi Mac OSX yang digunakan pada ujicoba ini adalah El Capitan.
Install Mono
File installer mono untuk Mac OS X dapat diunduh pada link berikut ini http://www.mono-
project.com/download/#download-mac. Gunakan installer Mono for Mac OS X Universal
yang dapat digunakan pada mesin berasitektur 32-bit atau 64-bit. Pada saat ebook ini ditulis
file MonoFramework-MDK-4.4.0.122.macos10.xamarin.universal.pkg.
Klik double pada file tersebut maka akan proses installasi akan dimulai dengan
ditampilkannya window seperti pada gambar di bawah ini.
4-23
Gambar 33. Install Mono Framework: Read Me.
4-24
Gambar 35. Install Mono Framework: Installation Type.
4-25
Gambar 37. Install Mono Framework: Summary.
4-26
Gambar 38. Proses mengunduh dnvm dan installasi.
Untuk mengetahui proses installasi berhasil maka dapat diketikkan perintah berikut:
dnvm
4-27
Klik double pada file installer tersebut kemudian akan ditampilkan windows seperti pada
gambar di bawah ini.
4-28
Gambar 42. Install .NET Execution Environment: Installation Type.
Pada gambar di atas dapat dilihat paket-paket yang akan diinstall yaitu:
1. .NET Version Manager (DNVM).
2. .NET Execution Environment (DNX) untuk Mono dan .NET Core.
3. Shell integration.
Referensi
https://docs.asp.net/en/latest/getting-started/installing-on-mac.html
4-29
5
Installasi pada Docker
Docker adalah kontainer yang memungkinkan untuk membuat paket aplikasi beserta
dependensinya kedalam sebuah unit standar pengembangan software. Kontainer docker
membungkus software atau aplikasi ke dalam filesystem lengkap yang berisi segala sesuatu
yang dibutuhkan untuk menjalankannya seperti:
1. Kode program.
2. Runtime.
3. System tool.
4. System library.
5. Dan hal-hal lain yang diinstall pada server.
Docker memberikan jaminan software atau aplikasi akan selalu dijalankan pada prilaku yang
sama terlepas dari lingkungan yang digunakan.
Berikut ini adalah gambar arsitektur docker.
Dari gambar di atas dapat dilihat layanan Docker Engine yang secara sederhana dapat
diasumsikan sebagai rumah atau host. Dan docker image sebagai komponen yang berisi
aplikasi dan segala sesuatu yang diperlukan untuk menjalankan aplikasi seperti yang telah
disebutkan pada 5 poin di atas.
Pada bab ini akan dipaparkan langkah-langkah untuk menginstall docker pada sistem operasi
Windows dan Linux. Kemudian akan ditunjukkan bagaimana setup dan menjalankan
ASP.NET Core 1.0 di atas docker.
5-30
Installasi Docker Engine pada Linux
Berikut ini akan dipaparkan langkah-langkah untuk installasi docker.
Pada gambar di bawah ini dapat dilihat output dan status installasi CA certificate.
5-31
Gambar 46. Install CA certificate.
Kemudian edit file docker.list dan isi dengan baris berikut ini. Baris di bawah ini hanya
digunakan untuk Ubuntu versi 14.04.
Jika versi Linux yang digunakan berbeda maka dapat melihat daftar pada link berikut ini:
https://docs.docker.com/engine/installation/linux/ubuntulinux/.
5-32
Kemudian kembali lakukan update index paket APT dengan perintah berikut ini.
Kemudian kembali dapat update index paket APT dengan perintah berikut, yang bertujuan
APT dapat menggunakan repository yang baru saja ditambahkan.
5-33
Dari gambar di bawah ini dapat dilihat ada beberapa paket yang diinstall dan diupgrade dari
lokasi repository yang baru ditambahkan.
5-34
Gambar 51. Installasi paket linux-image-extra.
Untuk Ubuntu 14.04 atau 12.04 perlu diinstall paket apparmor dengan perintah berikut ini.
5-35
Gambar 52. Install paket apparmor.
5-36
Gambar 54. Install paket docker-engine selesai dilakukan.
Menjalankan Service
Setelah docker engine telah berhasil diinstall maka selanjutnya menjalankan service docker
engine dengan perintah berikut ini.
Dan status service docker dapat dilihat pada gambar di bawah ini.
Untuk mengetahui kesuksesan proses installasi yang telah dilakukan, dapat dilakukan uji
coba dengan perintah berikut ini.
Berikut ini dapat dilihat proses yang dilakukan setelah mengetik perintah di atas yang
memberikan informasi bahwa docker engine berjalan.
5-37
Gambar 56. Hello World pada Docker.
Pada gambar di atas dapat dilihat ada proses docker image hello-world, karena pada sistem
tidak ditemukan docker image tersebut. Setelah proses download image kemudian dapat
dilihat proses pull image dan menjalankan aplikasi hello-world yang menampilkan text
Hello from Docker. . .
Image docker hello-world adalah salah satu image yang dishare ke public, untuk melihat
image lain dapat mengunjungi link berikut ini https://hub.docker.com/.
mkdir docker
cd docker
Jika belum memiliki aplikasi web ASP.NET Core 1.0 maka bisa diunduh source code contoh
aplikasi web ASP.NET Core 1.0 dari GitHub dengan perintah berikut.
Dan proses perintah di atas dapat dilihat outputnya dari gambar di bawah ini.
5-38
Gambar 57. Mengunduh source code contoh aplikasi web ASP.NET Core 1.0.
cd HelloASPNETCore/HelloWorld.ASPNETCore/src//HelloWorld.ASPNETCore/
touch Dockerfile
FROM microsoft/aspnet
COPY . /app
WORKDIR /app
RUN ["dnu", "restore"]
EXPOSE 5004
ENTRYPOINT ["dnx", "-p", "project.json", "kestrel"]
5-39
Pada gambar berikut ini dapat dilihat proses pembuatan docker image.
Dari gambar di atas dapat dilihat dilakukan 6 langkah untuk membuat docker image sesuai
dengan langkah-langkah yang ditulis pada file Dockerfile.
Menjalankan Container
Untuk menjalankan container yang telah dibuat dalam bentuk docker image di atas dapat
digunakan perintah berikut ini.
5-40
Gambar 59. Menjalankan Cointainer.
Untuk mencobanya dapat dilakukan akses aplikasi web pada port 5004 dengan perintah
berikut.
curl http://localhost:5004
5-41
Selain itu harus dipastikan sistem yang digunakan mendukung virtualisasi dan tela
diaktifkan. Untuk memastikan hal tersebut buka window Task Manager.
5-42
Gambar 62. Welcome screen.
5-43
Gambar 64. Memilih task tambahan.
5-44
Gambar 66. Installasi komponen yang dipilih.
Setelah installasi selesai maka dapat dilihat shortcut yang dapat digunakan memulai
menggunakan Docker.
Menonaktifkan Hyper-V
Sebelum menjalankan Docker Quickstart Terminal, terlebih dahulu fitur Hyper-V harus
dinonaktifkan.
5-45
Gambar 68. Menonaktifkan fitur Hyper-V.
Dan akan dapat dilihat outputnya seperti pada gambar di bawah ini.
5-46
Gambar 70. Docker hello-world.
Referensi
https://docs.docker.com/engine/installation/linux/ubuntulinux/
https://blogs.msdn.microsoft.com/webdev/2015/01/14/running-asp-net-5-applications-in-
linux-containers-with-docker/
https://docs.docker.com/windows/step_one/
5-47
6
Deployment
Pada bab ini akan dibuat aplikasi web ASP.NET Core 1.0 dengan menggunakan Visual Studio
2015 pada platform Windows. Kemudahan integrasi Visual Studio 2015 dengan version
control seperti Team Foundation Server (https://www.visualstudio.com/en-us/products/tfs-
overview-vs.aspx) atau GitHub (https://github.com) membuat source code yang ditulis pada
Visual Studio 2015 dapat disimpan dan disinkronisasi ke salah satu layanan version control
tersebut. Pada ujicoba di bab ini akan menggunakan layanan version control GitHub.
Sehingga aplikasi web cukup dibuat sekali pada platform Windows kemudian disinkronisasi
pada GitHub kemudian dengan mudah platform lain (Linux dan Mac OS X) akan dapat
melakukan sinkronisasi source code tersebut pada lokal platform masing-masing.
Development
Pada sub bab ini akan sedikit dijelaskan tentang version control GitHub yang akan digunakan
sebagai layanan sinkronisasi source code. Kemudian akan diterangkan langkah-langkah
untuk membuat aplikasi web dengan ASP.NET Core 1.0 dengan Visual Studio 2015 pada
platform Windows.
GitHub
Layanan version control GitHub dapat diakses dengan mengunjungi alamat berikut ini
https://github.com/.
6-48
Layanan yang diberikan bersifat gratis dengan beberapa limitasi. GitHub juga menyediakan
layanan berbayar untuk mendapatkan fitur-fitur yang tidak ditemui pada paket layanan
gratisnya.
Lakukan registrasi untuk dapat menggunakan layanan pada GitHub dengan cara menekan
tombol Sign Up pada sudut kanan atas.
Jika telah memiliki akun pada GitHub maka dapat login untuk menggunakan layanan yang
disediakan.
Setelah berhasil login maka dapat dilihat halaman untuk mengelola repository seperti berikut.
6-49
Gambar 74. Halaman pengelolaan repository.
Pada sub bab berikutnya nanti akan membuat project asplikasi web yang akan disinkronisasi
pada repository di GitHub. Untuk itu perlu dipersiapkan repository yang akan menampung
source code dari project aplikasi web tersebut. Caranya klik tombol New repository
kemudian isi seperti form di bawah ini kemudian klik tombol Create repository.
6-50
Gambar 76. Repository HelloWorld.
Untuk dapat mengakses repository di atas diperlukan link berikut ini. Link di bawah ini akan
digunakan oleh Visual Studio atau client GitHub lainnya untuk mengakses repository
HelloWorld seperti untuk operasi unduh atau unggah source code.
https://github.com/rezafaisal/HelloWorld.git
6-51
Gambar 78. Login GitHub.
Pada window Connect To GitHub ketikkan email dan password yang telah didaftarkan pada
langkah sebelumnya. Setelah proses login berhasil maka akan dilihat status koneksi seperti
gambar berikut ini.
Untuk membuat project dapat dilakukan dengan mengklik link New Project atau dengan
memilih menu File > New > Project.
6-52
Kemudian akan ditampilkan window berikut ini. Pilih Template > Visual C# > Web >
ASP.NET Web Application. Kemudian berikan nilai HelloWorld pada kolom Name dan
tentukan lokasi tempat menyimpan project pada kolom Location. Kemudian centang
checkbox Create new Git repository.
Pilih ASP.NET 5 Template > Empty kemudian klik tombol OK. Pada template di atas nama
yang digunakan masih menggunakan nama ASP.NET 5, belum diganti dengan ASP.NET
Core 1.0.
6-53
Maka pada area Solution Explorer dapat dilihat source code project seperti pada gambar di
bawah ini.
namespace HelloWorld
{
public class Startup
{
// This method gets called by the runtime. Use this method to add
services to the container.
// For more information on how to configure your application, visit
http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}
6-54
app.UseIISPlatformHandler();
Dengan mengedit sebuah file maka dapat dilihat perubahan status pada file Startup.cs
menjadi Pending edit seperti gambar di bawah ini.
Selanjutnya klik kanan pada Solution HelloWorld kemudian dapat dilihat ada pilihan
Commit. Pilihan ini bertujuan melakukan proses sinkronisasi.
6-55
Gambar 85. Commit source code.
Setelah context menu Commit dipilih maka akan ditampilkan dialog seperti berikut ini.
Kemudian klik tombol Commit All untuk melakukan persiapan sinkronisasi seluruh file pada
solution dan project. Selanjutnya akan ditampilkan dialog berikutnya seperti gambar di
bawah ini.
6-56
Gambar 87. Mengisi link HelloWorld.git.
Kemudian klik tombol Publish, setelah proses sinkronisasi selesai maka dapat dilihat source
code project HelloWorld pada repository HelloWorld di GitHub.
Gambar 88. Source code aplikasi web HelloWorld pada repository GitHub.
Deployment
Pada sub bab ini akan dipaparkan langkah-langkah untuk mendeploy aplikasi yang sudah
dibuat agar bisa diakses dari web browser.
6-57
Deployment pada Windows
Pada terdapat dua web server yang dapat digunakan untuk deployment yaitu:
1. IIS.
2. Kestrel.
Untuk deployment ke IIS cukup dengan klik kanan pada project kemudian pilih Debug > Start
new instance.
Dan secara otomatis aplikasi yang telah dideploy akan ditampilkan pada web browser seperti
gambar di bawah ini.
6-58
Cara kedua adalah deployment pada web server Kestrel. Untuk melakukan hal tersebut
folder HelloWorld pada folder src (lihat gambar di bawah ini) akan disalin (copy) pada folder
D:\Data\ASPNET dengan tujuan untuk memudahkan akses dari command line.
dnu restore
Perintah ini bertujuan untuk memuat librari dan paket pendukung untuk menjalankan
aplikasi web.
6-59
Gambar 93. Perintah dnu restore dan dnx web.
Kemudian ketikkan perintah berikut ini untuk menjalankan mengaktifkan web server
sehingga aplikasi dapat diakses dengan web browser.
dnx web
Selanjutnya pada web browser dapat diketikkan alamat dan port seperti yang tertera di
output perintah dnx web.
6-60
Deployment pada Linux
Untuk terlebih dahulu akan dibuat folder dengan nama ASPNET, kemudian pindah direktori
ke folder ASPNET.
mkdir ASPNET
cd ASPNET
Untuk menyalin source code project HelloWorld dari repository GitHub ke lokal folder di
sistem Linux yang digunakan, maka dapat dilakukan dengan mengetikkan perintah berikut
ini.
dnu restore
dnx web
Dan dapat dilihat setiap output dari perintah di atas pada gambar di bawah ini.
Gunakan perintah curl seperti dibawah ini untuk menguji akses ke alamat
http://localhost:5000.
6-61
Gambar 96. Akses aplikasi ASP.NET Core 1.0 di Linux.
cd Desktop/
mkdir ASPNET
Selanjutnya lakukan penyalinan source code dari repository GitHub dengan berikut di bawah
ini.
cd HelloWorld/src/HelloWorld
6-62
Pada gambar di bawah ini dapat dilihat output dari perintah-perintah di atas.
touch Dockerfile
vi Dockerfile
FROM microsoft/aspnet
COPY . /app1
WORKDIR /app1
RUN ["dnu", "restore"]
EXPOSE 5004
ENTRYPOINT ["dnx", "web"]
6-63
Maka akan dilakuan proses pengunduhan library yang diperlukan seperti pada gambar di
bawah ini.
Langkah selanjutnya adalah mengetikan perintah berikut ini untuk menjalankan container
dari docker image yang telah dibuat di atas.
6-64
Gambar 99. Menjalankan container docker image.
Selanjutnya aplikasi dapat diakses dengan web browser dengan alamat http://localhost:5000.
6-65
7
Penutup
Ebook ini merupakan petunjuk untuk mempersiapkan lingkungan pemrograman sebelum
memulai pemrograman ASP.NET Core 1.0. Dengan petunjuk ini dapat dilihat bahwa
ASP.NET Core 1.0 dapat bekerja lintas platform baik pada Windows, Linux dan Mac OS X.
Selanjutnya pada ebook selanjutnya akan berfokus kepada teknis pemrograman ASP.NET
Core 1.0.
Semoga ebook ini bermanfaat. Jika ada kesalahan dan masukan bisa dikirimkan ke email
reza.faisal (at) gmail (dot) com.
Terima kasih.
7-66
7-67