Transcript for:
Deployment Otomatis Menggunakan GitLab, Jenkins, dan Docker

Hai hello kawan-kawan kita bertemu lagi di kesempatan kali ini kita akan coba untuk belajar tentang deployment secara otomatis dengan memanfaatkan beberapa tools yang sudah pernah kita bahas sebelumnya Yang pertama adalah dengan giveaway Kemudian yang kedua adalah jenkins dan yang ketiga adalah dokter yang Gimana sih cara untuk melakukan auto deployment dengan ketiga hal ini kita akan coba untuk bahas itu pertama dari sisi arsitekturnya dulu Hei Katakanlah kita punya arsitektur seperti ini kita bekerja Entar kita bekerja Oke kita bekerja dengan sebuah a version control system Katakanlah Di sini gelap Oke jadi semua source code itu ada di sini dikit laptop Oke semuanya ada disini lalu katakan kita punya disini sebuah server oke yang kita ingin gunakan untuk GIS Hai mendeploy aplikasi Kita sebenarnya ada banyak cara yang bisa kita gunakan ke tutup botolnya kalau misalkan kita disini pakai dokter Oke maka dari getleft ini kita bisa setup airplane Oke jadi kode yang disini akan kita masukkan pipeline Oke dan paint ini akan mempost apa namanya dokter imagenya ke dokter registry oke registry nah untuk melakukan pooling ke sini ada banyak cara yang pertama paling tidak itu bisa dengan polling jadi Katakanlah di sini ada cronjob yang akan berjalan setiap lima menit ke-5 menit yang akan mengecek Apakah ada docker image yang baru dari registry dia akan mendownload aduk erpool image tertentu lalu melakukan dokter Stop the terhadap kontrak yang sedang jalan lalu dokter Harun itu bisa dilakukan tapi kelemahannya adalah ada atau tidak ada kode baru disini maka server akan terbebani karena dia akan secara berkala melakukan http request ke si dokter istri.doc registry juga akan mengalami peningkatan beban karena anda request dari server tersebut ia bayangkan kalau misalkan hanya satu server tapi kalau misalkan dari buan ya akan problematik gitu ya Nah terus ada yang kedua nih yang kedua dengan sssg ini juga cara yang umum dan public key key public yg jadi Katakanlah dari pipeline ini dia akan langsung SSA SSX ke server ini dengan Oke SS dan menjalankan command docker full docker Run dan sebagainya Oke jadi ketika pipeline ini melakukan do ke melakukan SSH ke server ini dia tidak akan memerlukan password karena kita sudah Halo 6 menambahkan pubblici dari sip Apple Mini ke server ini diatur Rezky file-nya tapi ke kelemahannya adalah dengan demikian artinya si server ini harus mengeksport 22nya ke pipeline Padahal kalau misalnya kita power-up sport 22 akan menimbulkan kemungkinan brute-force dari ekor yang layang itu jejak jadi kita tidak ingin jadi biasanya memang kalau kita punya server apalagi untuk development ya kita nggak akan publish port 22 port yang biasanya dipublish adalah ya port 80 443 udah 8080 8080 ya SCTV Sport lah Makanya ada cara yang ketiga cara yang ketiga Oke jadi kita di sini punya apa namanya gitlab Oke kemudian kita deploy kita punya aplikasi yang kita build dalam bentuk dokter jadi disini ada docker registry Key jadi dari gitlab ini dan anda paypalnya Yani pipeline dia kanpus image Oke ke dokter istri kemudian disini akan Anda jenkins server nah gunanya apa jenkins server ini yang melakukan otomasi jadi jenkins cerny sebagian dari dirinya itu public facing artinya dia bisa diakses dari internet di port 80 atau 443 Oke atau 8080 dan dia itu bisa terkoneksi ke server Hai yang ada di dalam jadi ketika nanti pipeline ini sudah selesai dan docker image to sudah terputus ke registry Oke maka akan ada pipeline yang kedua itu untuk memanggil atau menginfeksi jenkins job sehingga nanti ketika image sudah ready image udah terputus maka dia akan menginfeksi of the jenkins yang akan melakukan deployment Ade playmania itu yang tadi ya oleh dari melakukan dokter full Oke dokteran kemudian desktop dan lain sebagainya Itu adalah gambaran tentang bebas bagaimana Interaksi yang terakhir TPI jenkins dan juga Dokter atau dokter registry dalam melakukan otometica deployment meskipun sudah punya contoh repostory ini cukup sederhana supplier posternya jadi hanya ada dekor file di TPI dan juga sgml derval ini saya pakai engine.exe untuk membuat sebuah image jadi base imbasnya adalah engine.exe dan hanya mengkopikan folder XT email yang ada di repositori ini ke sem0ga folder yang ada di container yds Oke kemudian disini kita bisa lihat bahwa untuk si sgml ya Oke ini ada indexes email yang kita bisa coba untuk ganti-ganti nanti sebagai perfect konsep dan yang terakhir adalah disini digrepe ia jadi paling tidak hanya perlu 3 file-nya saya mendefinisikan 2-stage yang pertama adalah build dan yang kedua adalah deployed bitstash full key Saya hanya akan melakukan Bil kalau misalkan perubahannya ada Dimas terjadi Kalian bisa coba sebenarnya dengan membuat master itu sebagai protected branch dan hanya bisa dilakukan komitmen lalui Mars request Jadi kalau ada Mercedez yang sudah produk dan merek baru akan masuk ke master dan dari Master inilah akan dibuat sebuah docker image nah ini ada limitnya si dokter Nah scriptnya ini sosok jin itu artinya dokter instagrow keren Karena scriptnya itu sebenarnya sederhana yang pertama adalah login ke registry gitlabs jadi digigit live itu sudah ada registry yang hi ha bisa kita gunakan untuk melakukan push dan pull sebuah image ini username seaside example itu adalah a different dari token yang kalian buat kalian bisa dapatkan token tersebut sebenarnya Disini di bentar di repostory kemudian di deploy token nah kalian bisa mendapatkan Token itu disini kalian bisa buat token tertentu dengan desain tertentu kalau dengan Nama saya Edi example kemudian kalian bisa cryptoken nah yang perlu kalian ingat adalah keperluannya adalah untuk read dan write registry karena reffnya itu nanti di sisi jenkins muridnya itu di sisi lagi tv-nya kita balik lagi ke si GPP hanya key Nah setelah dia login maka dia akan melakukan building image baru dengan perintah dokter build minus tiga oke dengan teknik ini di folder repostory ini jadi berdasarkan.com file yang tadi sudah kita buat senang selanjutnya dia akan dokter puskr registry.cu.cc editions lechter Nah sampai tahap ini kita sudah punya dokter image yang siap digunakan yang kedua adalah kita harus mencetak job di sisi jenkins agar bisa namanya agar bisa melakukan deployment dengan Trigger SCTV request tersebut Nah makanya di sini Saya udah buat satu job dengan nama auto deploit kita lihat di konfigurasinya cukup sederhana jadi untuk source code management and Angke karena kita pakai dokter jadi nggak perlu ngebul kodenya lagi ke jenkins kemudian triggernya itu kita pakai ini aja untuk autodiv Yks jadi token inilah yang nanti akan jadi parameter di query nya token sama dengan token lemnya Oke dan ini yang bisa kita Panggil Oke dan isi dari jopini sesederhana dalam melakukan polling dari registry menstop existing kontainer yang sedang berjalan dan juga menjalankan kontainer baru ok Hai dengan pot 10080 oke nah kita balik lagi ke giveaway nya Nah disini kita bisa lihat bahwa saya untuk deployed saya pakai image Charles jadi kebutuhan Saya hanya untuk mengkel dari sing apa namanya dari jenkins nah scriptnya adalah Call double double Dash user deployed titik dua jenis password Jadi kalau Meskipun kita udah punya token di sini kita tetap harus membuat juice jenkins usernya kita bisa membuat Disini di jenkins kemudian manajemen skins kemudian masuk ke menit share nah kalian bisa create user disini saya buat developer user dengan nama deployer Hei kita cek di auto deployed sekarang Ayo kita cek lagi di eh jok terakhir itu jokinya 9 Oke di 10 5pm kemudian kita cek default 10080 tol localhost 10080 Oke isinya adalah ini This is the index of SMP tutorial notodiprojo using tetap seiden Ok seperti ini ya apa namanya apa ya kontennya atau responsnya kemudian kita cek di dokter PSnya Sudung ke vps untuk tahu oke dokter Regis kontainer ini udah jalan selama 40 menit dan kalau misalkan kita ubah disini si kita Trigger sih five lainnya Hai Katakanlah di Index html kita ganti ekspektasinya adalah nanti si konten tadi ketika kita melakukan Curl itu akan berubah dan juga secretnya akan berubah juga bukan 40 menit tapi berubah ke waktu sekarang itu sekarang Salah satu menit yang lalu gitlabs iaea update kemudian kita coba untuk commitments dan ini akan mentriger pipeline oke ya Hai akan mentrigger pipeline kita cek ya mungkin prosesnya sekitar ya 2/3 menit kita bisa tunggu dan ekspektasinya adalah di sini nanti akan ada job ID 10 ok Hai Gaby link-nya sedang berjalan Hai Tante jq127 tiga menit kita tunggu aja ya masih building image jadi image akan dibuat dulu berdasarkan dekor file dari ya jadi dia akan mengcopy dari avoset SML folder ke email yang ada di dalam kontainer lalu dia akan mempost MS tersebut ke adek registry The Key Masih proses kayak balik lagi ke sini nah acara ini sebenarnya juga cukup efektif kalau misalkan kalian atau the development kalian itu punya polusi bahwa semua server itu hanya ada di internal Network dan tidak bisa diakses dari luar gitu Jadi kalian bisa memastikan bahwa server internal Ya hanya akan diakses dari internal dan yang public fashion kiri kita bisa benar-benar memastikan bahwa exposing port hanya untuk port TCP aja jadi kita bisa meminimalisir resiko gitu Ini salah satu keuntungannya sebenarnya oke oke Ini ada Beat sebenarnya bisa ada banyak server yang lain dan seterusnya dan seterusnya ini sesuai dengan kebutuhan aja jadi ini adalah salah satu apa namanya gaya integrasi antara gitlab-ci dengan jenkins Apakah ada yang lain ada contohnya dengan melakukan angkronim di sini atau dengan web book di video yang lain kita mungkin akan bahas tentang Facebook jadi tidak serta-merta dengan menambahkan pipeline baru tapi bisa langsung dengan web-web yang ada di getleft jadi contohnya kalau misalkan ada komikbaru gitlabs sebetulnya bisa mengirimkan SCTV request langsung ke gadgetins atau ketika ada phablet yang statusnya berubah juga bisa mengirimkan SCTV request ke jenkins itu ada banyak variasinya juga kita bisa gunakan itu sebagai Trigger dari sebuah job di jenkins kita cek lagi di sini oke untuk building nya sudah selesai ya kita lihat di deploy Oke di deployment juga sudah selesai jadi kita bisa lihat disini Dia memanggil url ini dah Harusnya kalau misalnya kita refresh halaman ini Anda coba di 10 nah 11380 barusan aja Hai Oke kita lihat Oke sukses dan kita bisa XP kalau misalkan kita ke lagi di sini akan ada update konten nah sampai sini Kita sudah mencoba untuk men-set up integrasi antara gitlab-ci izin kisah dokter untuk membantu kita dalam mendeploy suatu aplikasi Nah si Joker MS ini kalian bisa variasikan Katakanlah kalian mendeploy dengan mendevelop aplikasi berbasiskan piton plus atau nojs atau apapun itu yang jelas dengan gaya seperti ini kalau sudah bisa melakukan auto deployment dengan cepat jadi artinya ketika Imes itu saudara dia akan langsung terdefleksi jenkins nah itu saja untuk video kali ini jangan lupa untuk like dan juga share dan subscribe sebagai bentuk dukungan kalian ke channel ini Terima kasih semoga bermanfaat