Anda di halaman 1dari 74

Kata Pengantar

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.

Banjarmasin, April 2016

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

Referensi .......................................................................................................... 1-3

2 Instalasi pada Windows......................................................................... 2-4


Installasi dari Command Line ..................................................................... 2-4
Menjalankan Command Line .............................................................................. 2-4
Installasi .NET Version Manager ........................................................................ 2-5
Installasi Runtime ................................................................................................. 2-6
Mengelola Runtime............................................................................................... 2-7

Installasi dengan Visual Studio .................................................................. 2-8


Installasi Microsoft .NET Execution Environment (DNX) .............................. 2-9
Installasi Microsoft ASP.NET and Web Tools ................................................. 2-10

Referensi ........................................................................................................ 2-11


3 Installasi pada Linux ............................................................................ 3-12
Update Paket ................................................................................................. 3-12
Install Paket Pendukung ............................................................................ 3-13
Install .NET Version Manager ................................................................... 3-14
Install Mono .................................................................................................. 3-15
Install Runtime ............................................................................................. 3-15
Mengelola Runtime ..................................................................................... 3-16
Install Paket libuv ........................................................................................ 3-18
Mengunduh & Ekstrak Paket libuv .................................................................. 3-18
Kompilasi ............................................................................................................. 3-19

Referensi ........................................................................................................ 3-22

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

Referensi ........................................................................................................ 4-29


5 Installasi pada Docker .......................................................................... 5-30
Installasi Docker Engine pada Linux ....................................................... 5-31
Installasi Paket Pendukung ............................................................................... 5-31
Installasi Docker Engine..................................................................................... 5-36
Menjalankan Service ........................................................................................... 5-37
Membuat Docker Image ..................................................................................... 5-38
Menjalankan Container ...................................................................................... 5-40

Installasi Docker Engine pada Windows ................................................ 5-41


Installasi Docker Toolbox................................................................................... 5-42
Menonaktifkan Hyper-V .................................................................................... 5-45
Docker Quickstart Teminal ................................................................................ 5-46

Referensi ........................................................................................................ 5-47

6 Deployment ............................................................................................. 6-48


Development ................................................................................................. 6-48
GitHub .................................................................................................................. 6-48
Mengelola Koneksi Visual Studio 2015 & GitHub ......................................... 6-51
Development Aplikasi Web ASP.NET Core 1.0 ............................................. 6-52

Deployment ................................................................................................... 6-57


Deployment pada Windows.............................................................................. 6-58
Deployment pada Linux .................................................................................... 6-61
Deployment pada Mac OS X ............................................................................. 6-62
Deployment pada Docker .................................................................................. 6-62

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

ASP.NET Core 1.0


ASP.NET Core 1.0 merupakan nama baru untuk ASP.NET 5. Framework ini merupakan
desain ulang atau ditulis ulang dari ASP.NET sebelumnya yang saat ebook ini ditulis telah
sampai ke versi 4.6.
Ada dua hal yang membuat ASP.NET Core 1.0 berbeda dengan framework sebelumnya,
yaitu:
1. Open-source framework, yang artinya kode sumber framework terbuka untuk dilihat
dan memungkinkan berkontribusi.
2. Cross-platform framework, berbeda dengan framework sebelumnya yang hanya
berjalan di platform Windows saja, ASP.NET Core 1.0 juga dapat dijalankan pada
platform Mac OSX dan Linux.
Karena ASP.NET Core 1.0 merupakan framework yang baru saja ditulis, bukan melanjutkan
kode sumber framework sebelumnya, maka tidak semua fitur yang telah ditemui pada
ASP.NET 4.6 akan ditemui pada framework ini. Saat ASP.NET Core 1.0 hanya dapat ditulis
dengan bahasa pemrograman C# berbeda dengan framework sebelumnya yang
memungkinkan menggunakan bahasa pemrograman C# dan VB.NET.
.NET Framework sebagai fondasi yang digunakan oleh ASP.NET Core 1.0 juga berbeda
dengan framework sebelumnya. Hal ini dapat dilihat pada gambar di bawah ini.

Gambar 1. Arsitektur ASP.NET Core 1.0 (Sumber: www.hanselman.com)

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.

Gambar 2. Proses request-response pada Kestrel.

Internet Information Services (IIS)


Telah disebutkan kelebihan IIS yang mendukung kebutuhan umum web server juga dapat
digunakan sebagai host ASP.NET Core 1.0. Sebagai host ASP.NET Core 1.0, IIS tidak berdiri
sendiri tetapi perlu dukungan dari Kestrel yang dapat dilihat pada proses request-response
di bawah ini.

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.

Installasi dari Command Line


Menjalankan Command Line
Langkah pertama adalah menjalankan command prompt atau cmd.exe dengan mode
administrator. Caranya adalah dengan menekan tombol windows kemudian ketik cmd
kemudian klik kanan dan pilih Run as administrator.

Gambar 4. Command Prompt.

2-4
Selanjutnya akan ditampilkan window Administrator: Command Prompt seperti gambar di
bawah ini.

Gambar 5. Window Administrator: Command Prompt.

Installasi .NET Version Manager


Langkah kedua adalah menjalankan perintah untuk menginstall .NET Version Manager
(DNVM) dengan detail perintah di bawah ini.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{iex ((new-


object
net.webclient).DownloadString('https://dist.asp.net/dnvm/dnvminstall.ps1')
)}"

Berikut adalah tampilan atau output setelah mengeksekusi perintah ini.

Gambar 6. Proses mengunduh dan install DNVM.

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.

dnvm upgrade -r coreclr

Pada gambar di bawah ini dapat dilihat proses mengunduh runtime.

Gambar 8. Mengunduh runtime coreclr.

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.

Gambar 10. Daftar runtime coreclr.

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.

dnvm use -r [runtime] -arch [architecture] [version]

Sehingga jika ingin menggunakan atau mengaktifkan runtime coreclr versi 1.0.0-rc-update1
untuk arsitektur x86 maka digunakan perintah sebagai berikut.

dnvm use -r coreclr -arch x86 1.0.0-rc1-update1

2-7
Dan dapat dilihat runtime yang aktif dengan perintah berikut.

Gambar 11. Mengaktifkan runtime versi 1.0.0-rc1-update1.

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.

dnvm use default

Gambar 12. Mengaktifkan runtime default.

Installasi dengan Visual Studio


Untuk melakukan installasi dengan Visual Studio maka perlu terlebih dahulu mengunduh
file installernya di link berikut ini https://get.asp.net/OtherDownloads atau
https://go.microsoft.com/fwlink/?LinkId=627627. File yang diunduh saat ebook ini ditulis
adalah AspNet5.ENU.RC1_Update1_KB3137909.exe.

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.

Gambar 13. Installasi Microsoft ASP.NET RC1 Update 1.

Installasi Microsoft .NET Execution Environment (DNX)


Langkah pertama yang dilakukan oleh installer ini adalah menginstal Microsoft .NET
Execution Environment (DNX) seperti yang terlihat pada gambar di bawah ini.

Gambar 14. Installasi DNX.

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.

Gambar 15. Installasi Microsoft ASP.NET and Web Tools.

Untuk melihat apakah installasi telah berhasil maka dapat dilihat pada template project pada
Visual Studio seperti pada gambar di bawah ini.

Gambar 16. Template ASP.NET Core 1.0.

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.

sudo apt-get update

Pada gambar di bawah ini dapat dilihat proses update paket.

Gambar 18. Perintah update: sudo apt-get update.

Dan jika sukses di akhir proses akan dapat dilihat seperti pada gambar berikut ini.

3-12
Gambar 19. Proses update.

Install Paket Pendukung


Langkah kedua adalah memastikan paket-paket pendukung telah terpasang pada sistem.
Paket-paket pendukung yang diperlukan adalah:
1. unzip.
2. curl.
3. libunwind8.
4. gettext.
5. libssl-dev.
6. libcurl4-openssl-dev.
7. zlib1g.
8. libicu-dev.
9. uuid-dev.
10. make.
11. automake.
12. libtool.
Untuk memastikan semua paket di atas sudah diinstal dapat dilakukan dengan perintah di
bawah ini. Dengan perintah di bawah ini jika paket belum diinstal maka akan diinstall, dan
jika paket sudah diinstall tetapi ada update terbaru maka paket akan diupdate.

sudo apt-get install unzip curl libunwind8 gettext libssl-dev libcurl4-


openssl-dev zlib1g libicu-dev uuid-dev make automake libtool

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.

Install .NET Version Manager


Langkah ketiga adalah mengunduh dan menginstall .NET Version Manager (DNVM).
Berikut adalah perintah yang digunakan untuk keperluan tersebut.

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh


| DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

Setelah proses selesai, maka dapat dipanggil perintah dnvm untuk memastikan proses
installasi berhasil.

Gambar 21. DNVM.

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.

sudo apt-get install mono-complete

Jika pada sistem telah diinstall paket ini maka akan dilihat output seperti pada gambar di
bawah ini.

Gambar 22. Proses installasi mono.

Dan juga dipastikan paket ca-certificates-mono telah diinstall, berikut ini adalah perintah
yang digunakan untuk menginstall paket tersebut.

sudo apt-get install ca-certificates-mono

Install Runtime
Langkah kelima adalah menginstall runtime coreclr dan mono. Untuk menginstall runtime
mono digunakan perintah berikut ini.

dnvm upgrade -r coreclr

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.

Untuk menginstall runtime coreclr digunakan perintah berikut.

dnvm upgrade -r coreclr

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.

Gambar 24. Upgrade 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.

3-16
dnvm list

Dan pada gambar di bawah ini dapat dilihat daftar runtime yang ada.

Gambar 25. Daftar runtime.

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.

dnvm use -r [runtime] -arch [architecture] [version]

Sehingga jika ingin menggunakan atau mengaktifkan runtime coreclr versi 1.0.0-rc-update1
untuk arsitektur x86 maka digunakan perintah sebagai berikut.

dnvm use -r mono x86 1.0.0-rc1-update2

Dan dapat dilihat runtime yang aktif dengan perintah 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.

dnvm use default

Install Paket libuv


libuv adalah paket yang diperlukan untuk self hosting web aplikasi ASP.NET Core 1.0. libuv
merupakan library asynchronous IO multiplatform, paket ini merupakan HTTP server
multiplatform agar web aplikasi yang dibangun dapat dideploy dan diakses.

Mengunduh & Ekstrak Paket libuv


Langkah pertama adalah mengunduh paket libuv dalam bentuk file arsip *.tar.gz dan
kemudian mengekstrak file arsip tersebut ke folder /usr/local/src dengan perintah berikut.

curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar


zxfv - -C /usr/local/src

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

Berikut adalah screenshot dari proses menjalankan script di atas.

3-19
Gambar 28. Menjalankan script autogen.sh

Menjalakan perintah configure dengan cara seperti berikut ini.

sudo ./configure

Pada gambar di bawah ini dapat dilihat proses eksekusi perintah di atas.

3-20
Gambar 29. Proses configure.

Selanjutnya dilakukan kompilasi dengan perintah berikut.

sudo make

Proses kompilasi dapat dilihat pada gambar di bawah ini.

Gambar 30. Proses make.

Dan kemudian dilakukan proses installasi dengan perintah berikut.

sudo make install

Berikut ini adalah proses installasi.

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.

Gambar 32. Install Mono Framework: Introduction.

4-23
Gambar 33. Install Mono Framework: Read Me.

Gambar 34. Install Mono Framework: License.

4-24
Gambar 35. Install Mono Framework: Installation Type.

Gambar 36. Install Mono Framework: Installation.

4-25
Gambar 37. Install Mono Framework: Summary.

Install ASP.NET Core 1.0 for Mac OS X


Seperti pada platform Windows, installasi ASP.NET Core 1.0 dapat dilakukan dengan dua
cara yaitu dengan cara installasi dengan command-line dan installasi dengan menggunakan
aplikasi installer yang telah disediakan.

Installasi dengan Command-Line


Untuk melakukan installasi dengan cara ini maka diperlukan menjalakan Terminal.
Kemudian ketikkan perintah berikut ini pada terminal.

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh


| DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

4-26
Gambar 38. Proses mengunduh dnvm dan installasi.

Untuk mengetahui proses installasi berhasil maka dapat diketikkan perintah berikut:

dnvm

Maka akan dapat dilihat seperti pada di bawah ini.

Gambar 39. Informasi bantuan perintah dnvm.

Installasi dengan Aplikasi Installer


File installer ASP.NET Core 1.0 for Mac OS X dapat diundah pada link berikut ini
https://get.asp.net/OtherDownloads. File installer yang digunakan pada saat ebook ini ditulis
adalah DNX-1.0.0-rc1-update1.pkg.

4-27
Klik double pada file installer tersebut kemudian akan ditampilkan windows seperti pada
gambar di bawah ini.

Gambar 40. Install .NET Execution Environment: Introduction.

Gambar 41. Install .NET Execution Environment: License.

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.

Gambar 43. Install .NET Execution Environment: Summary.

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.

Gambar 44. Arsitektur Docker (Sumber: https://docs.docker.com).

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.

Installasi Paket Pendukung


Sebelum melakuan installasi docker terlebih dahulu dilakukan persiapan dengan menginstall
paket pendukung dan melakuan konfigurasi.
Lakukan update informasi paket dengan perintah berikut ini.

sudo apt-get update

Gambar 45. Update informasi paket.

Install CA certificate dengan perintah berikut.

sudo apt-get install apt-transport-https ca-certificates

Pada gambar di bawah ini dapat dilihat output dan status installasi CA certificate.

5-31
Gambar 46. Install CA certificate.

Menambahkan kunci GPG dengan perintah berikut ini.

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-


keys 58118E89F3A912897C070ADBF76221572C52609D

Dan gambar berikut ini adalah output dari perintah di atas.

Gambar 47. Menambahkan kunci PGP.

Membuat file docker.list pada folder /etc/apt/source.list.d/ dengan perintah berikut.

sudo touch /etc/apt/sources.list.d/docker.list

Kemudian edit file docker.list dan isi dengan baris berikut ini. Baris di bawah ini hanya
digunakan untuk Ubuntu versi 14.04.

deb https://apt.dockerproject.org/repo ubuntu-trusty main

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.

sudo apt-get update

Dan ketikkan perintah-perintah berikut ini untuk setup repository.

sudo apt-get purge lxc-docker


apt-cache policy docker-engine

Kedua gambar di bawah ini memperlihatkan output dari perintah-perintah di atas.

Gambar 48. Perintah untuk membersihkan repository lama.

Gambar 49. Perintah untuk setup repository baru.

Kemudian kembali dapat update index paket APT dengan perintah berikut, yang bertujuan
APT dapat menggunakan repository yang baru saja ditambahkan.

sudo apt-get upgrade

5-33
Dari gambar di bawah ini dapat dilihat ada beberapa paket yang diinstall dan diupgrade dari
lokasi repository yang baru ditambahkan.

Gambar 50. Update index paket APT dengan repository baru.

Langkah selanjutnya adalah menginstall paket linux-image-extra agar dapat menggunakan


driver aufs storage. Berikut adalah perintah untuk menginstal paket tersebut.

sudo apt-get install linux-image-extra-$(uname -r)

Berikut adalah output dari perintah di atas.

5-34
Gambar 51. Installasi paket linux-image-extra.

Untuk Ubuntu 14.04 atau 12.04 perlu diinstall paket apparmor dengan perintah berikut ini.

sudo apt-get install apparmor

5-35
Gambar 52. Install paket apparmor.

Installasi Docker Engine


Pada sub bab in akan dilakukan installasi docker engine dengan menggunakan perintah di
bawah ini.

sudo apt-get install docker-engine

Berikut adalah output dari perintah di atas.

Gambar 53. Install docker-engine.

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.

sudo service docker start

Dan status service docker dapat dilihat pada gambar di bawah ini.

Gambar 55. Menjalankan service docker.

Untuk mengetahui kesuksesan proses installasi yang telah dilakukan, dapat dilakukan uji
coba dengan perintah berikut ini.

sudo docker run hello-world

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/.

Membuat Docker Image


Di awal bab ini telah dijelaskan tentang fungsi docker image yang menjadi paket lengkap
suatu aplikasi berserta runtime dan library pendukung untuk menjalankan aplikasi tersebut.
Pada sub bab ini akan dijelaskan langkah-langkah untuk membuat docker images aplikasi
web ASP.NET Core 1.0 berserta runtimenya.
Pada uji coba ini docker image akan disimpan pada folder docker sehingga perlu dibuat dulu
folder tersebut kemudian pindah direktori ke folder docker dengan perintah berikut.

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.

git clone https://github.com/rezafaisal/HelloASPNETCore.git

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.

Kemudian ketikan perintah berikut untuk pindah ke folder aplikasi.

cd HelloASPNETCore/HelloWorld.ASPNETCore/src//HelloWorld.ASPNETCore/

Membuat file Dockerfile dengan perintah berikut.

touch Dockerfile

Kemudian tambahkan baris berikut pada file Dockerfile.

FROM microsoft/aspnet

COPY . /app
WORKDIR /app
RUN ["dnu", "restore"]

EXPOSE 5004
ENTRYPOINT ["dnx", "-p", "project.json", "kestrel"]

Keterangan dari baris di atas adalah sebagai berikut:


1. FROM bertujuan menentukan lokasi image ASP.NET yang akan digunakan.
2. COPY bertujuan untuk menentukan lokasi konten dari folder yang sedang aktif ke
folder /app.
3. WORKDIR bertujuan menentukan direktori yang akan digunakan.
4. RUN bertujuan untuk menjalankan perintah, pada contoh di atas artinya akan dijalan
perintah dnu restore.
5. EXPOSE bertujuan menentukan port yang akan digunakan oleh aplikasi.
6. ENTRYPOINT bertujuan cara untuk menjalakan aplikasi. Pada contoh di atas
aplikasi dijalankan dengan perintah dnx.
Selanjutnya adalah membuat image dengan perintah berikut ini.

sudo docker build -t myapp .

5-39
Pada gambar berikut ini dapat dilihat proses pembuatan docker image.

Gambar 58. 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.

sudo docker run -t -d -p 5004 myapp


sudo docker ps

5-40
Gambar 59. Menjalankan Cointainer.

Untuk mencobanya dapat dilakukan akses aplikasi web pada port 5004 dengan perintah
berikut.

curl http://localhost:5004

Installasi Docker Engine pada Windows


File installer Docker pada diunduh pada alamat berikut ini
https://www.docker.com/products/docker-toolbox. Untuk menggunakan docker engine pada
Windows ada satu hal yang harus diperhatikan yaitu mesin dan platform yang digunakan
harus mendukung arsitektur 64-bit. Untuk memastikan hal tersebut pada dilihat dengan
membuat Windows Explorer kemudian klik kanan pada This PC atau My Computer
kemudian pilih Properties. Pastikan pada System type terdapat nilai yang sama dengan garis
bawah merah seperti gambar di bawah ini.

Gambar 60. System type 64-bit.

5-41
Selain itu harus dipastikan sistem yang digunakan mendukung virtualisasi dan tela
diaktifkan. Untuk memastikan hal tersebut buka window Task Manager.

Gambar 61. Virtualization: Enabled.

Installasi Docker Toolbox


Setelah dipastikan sistem telah mendukung virtualisasi maka langkah selanjutnya adalah
menginstall Docker Toolbox. Saat ebook ini ditulis digunakan installer DockerToolbox-
1.11.0.exe.
Berikut ini adalah langkah pertama installasi.

5-42
Gambar 62. Welcome screen.

Gambar 63. Pemilihan komponen yang diinstall.

5-43
Gambar 64. Memilih task tambahan.

Gambar 65. Installasi.

5-44
Gambar 66. Installasi komponen yang dipilih.

Setelah installasi selesai maka dapat dilihat shortcut yang dapat digunakan memulai
menggunakan Docker.

Gambar 67. Shortcut Docker.

Menonaktifkan Hyper-V
Sebelum menjalankan Docker Quickstart Terminal, terlebih dahulu fitur Hyper-V harus
dinonaktifkan.

5-45
Gambar 68. Menonaktifkan fitur Hyper-V.

Docker Quickstart Teminal


Langkah selanjutnya adalah menjalankan Docker Quickstart Terminal dengan mengklik
double pada shortcut yang telah disediakan. Jika proses installasi berhasil maka akan
ditampilkan terminal seperti gambar di bawah ini.

Gambar 69. Terminal docker.

Untuk menguji terminal maka dapat diketik perintah berikut.

docker run hello-world

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/.

Gambar 71. Halaman depan GitHub.

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.

Gambar 72. Sign up GitHub.

Jika telah memiliki akun pada GitHub maka dapat login untuk menggunakan layanan yang
disediakan.

Gambar 73. Sign in GitHub.

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.

Gambar 75. Membuat repository HelloWorld.

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

Mengelola Koneksi Visual Studio 2015 & GitHub


Pada sub bab ini akan ditunjukkan cara agar Visual Studio terkoneksi dengan GitHub. Untuk
mengelola koneksi dapat dilakukan pada tab Team Explorer pada Visual Studio 2015.

Gambar 77. Manage Connection.

Pada bagian GitHub, klik tombol Connect.

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.

Gambar 79. Status koneksi ke GitHub.

Development Aplikasi Web ASP.NET Core 1.0


Selanjutnya akan dibuat aplikasi web serderhana dengan menggunakan framework ASP.NET
Core 1.0. Aplikasi yang dibuat adalah aplikasi sederhana yang biasanya dibuat oleh
programer ketika mempelajari teknologi pemrograman yang baru yaitu: Hello World.

Gambar 80. Start Page Visual Studio 2015.

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.

Gambar 81. Membuat project web.

Kemudian klik tombol OK. Pada window New ASP.NET Project

Gambar 82. New ASP.NET Project HelloWorld.

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.

Gambar 83. Source code project & status Git Repositories.

Edit salah satu file Startup.cs menjadi seperti berikut ini.


Startup.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.DependencyInjection;

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)
{
}

// This method gets called by the runtime. Use this method to


configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{

6-54
app.UseIISPlatformHandler();

app.Run(async (context) =>


{
await context.Response.WriteAsync("Hello World! Hello
ASP.NET Core 1.0 \n");
});
}

// Entry point for the application.


public static void Main(string[] args) =>
WebApplication.Run<Startup>(args);
}
}

Perubahan yang dilakukan adalah baris berikut ini.


await context.Response.WriteAsync("Hello World! Hello ASP.NET Core 1.0 \n");

Dengan mengedit sebuah file maka dapat dilihat perubahan status pada file Startup.cs
menjadi Pending edit seperti gambar di bawah ini.

Gambar 84. Solution Explorer Status Pending edit.

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.

Gambar 86. Commit All.

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.

Gambar 89. Deployment ke IIS.

Dan secara otomatis aplikasi yang telah dideploy akan ditampilkan pada web browser seperti
gambar di bawah ini.

Gambar 90. Aplikasi web ditampilkan pada web browser.

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.

Gambar 91. Folder D:\Data\ASPNET\HelloWorld.

Kemudian jalankan command prompt dengan mode Run as administrator.

Gambar 92. Command Prompt.

Kemudian ketikkan perintah berikut ini.

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.

Gambar 94. Akses web server Kestrel.

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.

git clone https://github.com/rezafaisal/HelloWorld.git

Selanjutnya pindah direktori ke HelloWorld/src/HelloWorld. Berikut ada hasil keluaran dari


perintah-perintah di atas.
Selanjutnya ketik perintah berikut ini.

dnu restore
dnx web

Dan dapat dilihat setiap output dari perintah di atas pada gambar di bawah ini.

Gambar 95. Proses deployment di Linux.

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.

Deployment pada Mac OS X


Untuk deployment pada Mac OS X dapat mengikuti langkah-langkah yang telah dilakukan
pada proses deployment pada Linux.

Deployment pada Docker


Pada sub bab Installasi pada Docker > Installasi Docker Engine pada Linux, telah ditunjukkan
bagaimana melakuan deployment aplikasi web ASP.NET Core 1.0 pada docker. Sehingga
pada sub bab ini hanya akan ditunjukkan proses deployment pada platform Windows saja.
Langkah pertama adalah membuat folder ASPNET pada Desktop kemudian pindah direktori
ke folder tersebut.

cd Desktop/
mkdir ASPNET

Selanjutnya lakukan penyalinan source code dari repository GitHub dengan berikut di bawah
ini.

git clone https://github.com/rezafaisal/HelloWorld.git

Kemudian ketikkan perintah berikut ini untuk pindah direktori.

cd HelloWorld/src/HelloWorld

6-62
Pada gambar di bawah ini dapat dilihat output dari perintah-perintah di atas.

Gambar 97. Output perintah-perintah.

Selanjutnya adalah membuat file Dockerfile dengan perintah berikut.

touch Dockerfile

Kemudian edit file Dockerfile dengan editor vi.

vi Dockerfile

Selanjutnya ketik baris-baris berikut ini:

FROM microsoft/aspnet

COPY . /app1
WORKDIR /app1
RUN ["dnu", "restore"]

EXPOSE 5004
ENTRYPOINT ["dnx", "web"]

Kemudian ketik perintah berikut ini.

docker build -t myapp1 .

6-63
Maka akan dilakuan proses pengunduhan library yang diperlukan seperti pada gambar di
bawah ini.

Gambar 98. Langkah-langkah pembuatan docker image.

Langkah selanjutnya adalah mengetikan perintah berikut ini untuk menjalankan container
dari docker image yang telah dibuat di atas.

docker run myapp1

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

Anda mungkin juga menyukai