{"id":791,"date":"2016-05-22T14:57:41","date_gmt":"2016-05-22T14:57:41","guid":{"rendered":"http:\/\/zaf.web.id\/blog\/?p=791"},"modified":"2016-05-24T03:44:00","modified_gmt":"2016-05-24T03:44:00","slug":"update-source-otomatis-dari-bitbucket-dan-github","status":"publish","type":"post","link":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/","title":{"rendered":"Update Source otomatis dari Bitbucket dan GitHub"},"content":{"rendered":"<figure id=\"attachment_826\" aria-describedby=\"caption-attachment-826\" style=\"width: 214px\" class=\"wp-caption alignright\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\" wp-image-826\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png?resize=214%2C123\" alt=\"Bitbucket and GitHub\" width=\"214\" height=\"123\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket.png?resize=300%2C172&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket.png?w=523&amp;ssl=1 523w\" sizes=\"auto, (max-width: 214px) 100vw, 214px\" \/><figcaption id=\"caption-attachment-826\" class=\"wp-caption-text\">Bitbucket and GitHub<\/figcaption><\/figure>\n<p>Siapa yang tidak kenal kedua <em>GIT<\/em> <em>repository<\/em> tersebut, dengan semua fasilitas yang\u00a0disediakan oleh <a href=\"https:\/\/bitbucket.org\/\"><em><strong>Bitbucket<\/strong><\/em><\/a> dan <a href=\"https:\/\/github.com\/\"><em><strong>GitHub<\/strong><\/em><\/a> membuat para <em>developer<\/em> nyaman untuk <em>menitipkan<\/em> <em>source project<\/em> mereka disana.<\/p>\n<p>Saya\u00a0menggunakan <em>Bitbucket<\/em> cukup lama, hanya baru-baru ini mulai menggunakan <em>GitHub<\/em>. Mengingat\u00a0kebijakan <em>pricing<\/em> yang diterapkan kedua layanan tersebut sedikit berbeda, untuk versi <em>free<\/em> <em>Bitbucket<\/em> memungkinkan <em>user<\/em> menyimpan beberapa <em>repository<\/em> secara <em>private<\/em> (selebihnya musti bayar), sedangkan <em>GitHub<\/em> hanya membolehkan <em>repository public<\/em>.<!--more--><\/p>\n<p>Beberapa tahun terakhir sudah\u00a0cukup banyak <em>website<\/em> (dan <em>web apps<\/em>) yang sudah kami\u00a0kembangkan, di-<em>host<\/em> pada <em>domain<\/em> dan <em>server<\/em> yang berbeda. Sejalan dengan itu\u00a0pembaruan menjadi sedikit memakan tambahan\u00a0waktu, meskipun semua <em>web<\/em> menggunakan <a href=\"http:\/\/zaf.web.id\/blog\/perihal-mengembangkan-cms\/\"><strong><em>Engine<\/em><\/strong><\/a>\u00a0yang sama.<\/p>\n<p>Setiap kali ada perubahan harus <em>meng-upload<\/em> file perubahan melalui <em>FTP<\/em>\u00a0dibanding\u00a0menggunakan <em>git update<\/em>, karena melalui <em>FTP<\/em> dapat meng-<em>update<\/em> banyak <em>server<\/em> dari satu aplikasi sedangkan jika menggunakan <em>git update<\/em> kita perlu <em>login<\/em> ke setiap <em>server<\/em> untuk <em>git pull<\/em>.\u00a0Belakangan ada yang membahas mengenai <a href=\"http:\/\/fariskhi.me\/web-security\/2016\/05\/16\/git-undercover\/\">keamanan pada mekanisme update menggunakan git<\/a>.<\/p>\n<p>Untuk itu saya coba buat <em>script<\/em> untuk melakukan update setiap <em>web<\/em> dan <em>apps<\/em> di <em>domain<\/em> dan <em>server<\/em> yang berbeda berdasarkan commit yang telah saya lakukan di <em>bitbucket<\/em>.<\/p>\n<p><script src=\"https:\/\/gist.github.com\/23Pstars\/800993df96a9fd6ecf99796f189c735e.js\"><\/script><\/p>\n<p><a href=\"https:\/\/github.com\/23Pstars\/Git-Source-Updater\">https:\/\/github.com\/23Pstars\/Git-Source-Updater<\/a><\/p>\n<p>Selain <em>script<\/em> yang berupa <em>file<\/em>, terkadang saya melakukan beberapa perubahan pada struktur <em>database<\/em>. <em>Script updater<\/em> tersebut juga saya kondisikan untuk dapat mengeksekusi <em>.sql<\/em> <em>script<\/em> yang\u00a0tersedia pada proses <em>commit<\/em>.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-871 size-full\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.48.03-PM.png?resize=657%2C431\" width=\"657\" height=\"431\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.48.03-PM.png?w=657&amp;ssl=1 657w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.48.03-PM.png?resize=300%2C197&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.48.03-PM.png?resize=619%2C406&amp;ssl=1 619w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-869 size-full\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.47.08-PM.png?resize=658%2C462\" width=\"658\" height=\"462\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.47.08-PM.png?w=658&amp;ssl=1 658w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.47.08-PM.png?resize=300%2C211&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.47.08-PM.png?resize=619%2C435&amp;ssl=1 619w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-870 size-full\" src=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.46.49-PM.png?resize=662%2C466\" width=\"662\" height=\"466\" srcset=\"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.46.49-PM.png?w=662&amp;ssl=1 662w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.46.49-PM.png?resize=300%2C211&amp;ssl=1 300w, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2016\/05\/Screen-Shot-2016-03-12-at-10.46.49-PM.png?resize=619%2C436&amp;ssl=1 619w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Siapa yang tidak kenal kedua GIT repository tersebut, dengan semua fasilitas yang\u00a0disediakan oleh Bitbucket dan&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2,57,58],"tags":[171,168,169,170],"class_list":["post-791","post","type-post","status-publish","format-standard","hentry","category-coretan","category-programming","category-server","tag-bitbucket","tag-git","tag-git-source-update","tag-github"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah<\/title>\n<meta name=\"description\" content=\"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah\" \/>\n<meta property=\"og:description\" content=\"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/\" \/>\n<meta property=\"og:site_name\" content=\"Ahmad Zafrullah\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/23Pstars\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-22T14:57:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-05-24T03:44:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png\" \/>\n<meta name=\"author\" content=\"Zaf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:site\" content=\"@23Pstars\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zaf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/\"},\"author\":{\"name\":\"Zaf\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"headline\":\"Update Source otomatis dari Bitbucket dan GitHub\",\"datePublished\":\"2016-05-22T14:57:41+00:00\",\"dateModified\":\"2016-05-24T03:44:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/\"},\"wordCount\":232,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/github-bitbucket-300x172.png\",\"keywords\":[\"bitbucket\",\"git\",\"git source update\",\"github\"],\"articleSection\":[\"Coretan\",\"Programming\",\"Server\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/\",\"name\":\"Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/github-bitbucket-300x172.png\",\"datePublished\":\"2016-05-22T14:57:41+00:00\",\"dateModified\":\"2016-05-24T03:44:00+00:00\",\"description\":\"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#primaryimage\",\"url\":\"http:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/github-bitbucket-300x172.png\",\"contentUrl\":\"http:\\\/\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/github-bitbucket-300x172.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/update-source-otomatis-dari-bitbucket-dan-github\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Source otomatis dari Bitbucket dan GitHub\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/\",\"name\":\"Ahmad Zafrullah\",\"description\":\"Work to Learn is better than Learn how to Work\",\"publisher\":{\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/#\\\/schema\\\/person\\\/ba4e955d59a1e6a8284857e74b14e5ed\",\"name\":\"Zaf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\",\"width\":300,\"height\":300,\"caption\":\"Zaf\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/zaf.web.id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/zaf.web.id\",\"http:\\\/\\\/www.facebook.com\\\/23Pstars\",\"https:\\\/\\\/x.com\\\/23Pstars\"],\"url\":\"https:\\\/\\\/zaf.web.id\\\/blog\\\/author\\\/zaf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah","description":"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/","og_locale":"id_ID","og_type":"article","og_title":"Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah","og_description":"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.","og_url":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/","og_site_name":"Ahmad Zafrullah","article_publisher":"http:\/\/www.facebook.com\/23Pstars","article_author":"http:\/\/www.facebook.com\/23Pstars","article_published_time":"2016-05-22T14:57:41+00:00","article_modified_time":"2016-05-24T03:44:00+00:00","og_image":[{"url":"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png","type":"","width":"","height":""}],"author":"Zaf","twitter_card":"summary_large_image","twitter_creator":"@23Pstars","twitter_site":"@23Pstars","twitter_misc":{"Ditulis oleh":"Zaf","Estimasi waktu membaca":"1 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#article","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/"},"author":{"name":"Zaf","@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"headline":"Update Source otomatis dari Bitbucket dan GitHub","datePublished":"2016-05-22T14:57:41+00:00","dateModified":"2016-05-24T03:44:00+00:00","mainEntityOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/"},"wordCount":232,"commentCount":0,"publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#primaryimage"},"thumbnailUrl":"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png","keywords":["bitbucket","git","git source update","github"],"articleSection":["Coretan","Programming","Server"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/","url":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/","name":"Update Source otomatis dari Bitbucket dan GitHub - Ahmad Zafrullah","isPartOf":{"@id":"https:\/\/zaf.web.id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#primaryimage"},"image":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#primaryimage"},"thumbnailUrl":"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png","datePublished":"2016-05-22T14:57:41+00:00","dateModified":"2016-05-24T03:44:00+00:00","description":"Script untuk melakukan update source secara otomatis dari bitbucket dan github untuk beberapa domain atau server sekaligus dengan sekali klik.","breadcrumb":{"@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#primaryimage","url":"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png","contentUrl":"http:\/\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/12\/github-bitbucket-300x172.png"},{"@type":"BreadcrumbList","@id":"https:\/\/zaf.web.id\/blog\/update-source-otomatis-dari-bitbucket-dan-github\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zaf.web.id\/blog\/"},{"@type":"ListItem","position":2,"name":"Update Source otomatis dari Bitbucket dan GitHub"}]},{"@type":"WebSite","@id":"https:\/\/zaf.web.id\/blog\/#website","url":"https:\/\/zaf.web.id\/blog\/","name":"Ahmad Zafrullah","description":"Work to Learn is better than Learn how to Work","publisher":{"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zaf.web.id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":["Person","Organization"],"@id":"https:\/\/zaf.web.id\/blog\/#\/schema\/person\/ba4e955d59a1e6a8284857e74b14e5ed","name":"Zaf","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","url":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","contentUrl":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1","width":300,"height":300,"caption":"Zaf"},"logo":{"@id":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2024\/09\/zaf_auto_x2.jpeg?fit=300%2C300&ssl=1"},"sameAs":["http:\/\/zaf.web.id","http:\/\/www.facebook.com\/23Pstars","https:\/\/x.com\/23Pstars"],"url":"https:\/\/zaf.web.id\/blog\/author\/zaf\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1354,"url":"https:\/\/zaf.web.id\/blog\/git-aliases-via-profile-dan-gitconfig\/","url_meta":{"origin":791,"position":0},"title":"Git Aliases via .profile dan .gitconfig","author":"Zaf","date":"Oktober 19, 2018","format":false,"excerpt":"Setiap hendak menyimpan code, setidaknya 4 command diatas yang paling sering kita ketik. Untuk sedikit memudahkan hal tersebut, git telah memberikan fasilitas aliases bagi kita untuk menyingkat perintah git. Ada dua opsi yang bisa digunakan, menggunakan alias via .profile dan .gitconfig. Pada opsi .profile, deklarasi dilakukan sejak pertama kali kita\u2026","rel":"","context":"dalam &quot;Server&quot;","block_context":{"text":"Server","link":"https:\/\/zaf.web.id\/blog\/category\/server\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":407,"url":"https:\/\/zaf.web.id\/blog\/perihal-mengembangkan-cms\/","url_meta":{"origin":791,"position":1},"title":"Perihal mengembangkan CMS","author":"Zaf","date":"Mei 5, 2015","format":false,"excerpt":"Mengembangkan CMS sendiri?\u00a0Kenapa tidak! Bagi\u00a0advanced developer, khususnya dibidang web, tidak ada kata lelah untuk inovasi. Selalu saja ada hal-hal baru yang ingin dibuat atau dikembangkan. Saya masih ingat ketika pertama kali belajar\u00a0tentang pemrograman web, mudah dan banyak referensi. Meskipun lambat laun ternyata menyadari bahwa prospek bisnis\u00a0dan tingkat penetrasi terhadap web\u2026","rel":"","context":"dalam &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/zaf.web.id\/blog\/category\/programming\/"},"img":{"alt_text":"Dashboard | LRS Engine versi-2.1.0","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2014\/05\/lrs-engine-v2.1.0-1024x633.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1500,"url":"https:\/\/zaf.web.id\/blog\/terapan-tool-industri-dalam-dunia-akademik\/","url_meta":{"origin":791,"position":2},"title":"Terapan Tool Industri Dalam Dunia Akademik","author":"Zaf","date":"Mei 1, 2020","format":false,"excerpt":"Di dunia industri perkembangan teknologi sangat pesat. Ekosistem yang ada saling mendukung antara satu dengan yang lain, baik dari segi software (aplikasi) maupun dari segi metode (prosedur). Kurang lebih 5 tahun lalu saya masih berseliweran dengan dunia teknis, namun saat ini mulai banyak beraktivitas di dunia akademis. Sebagai tambahan informasi\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2019\/05\/google-apps.png?fit=1024%2C575&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2019\/05\/google-apps.png?fit=1024%2C575&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2019\/05\/google-apps.png?fit=1024%2C575&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2019\/05\/google-apps.png?fit=1024%2C575&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":720,"url":"https:\/\/zaf.web.id\/blog\/install-dan-konfigurasi-monit-di-centos\/","url_meta":{"origin":791,"position":3},"title":"Install dan Konfigurasi Monit di CentOS","author":"Zaf","date":"November 10, 2015","format":false,"excerpt":"Monit adalah solusi bagi webmaster yang menggunakan dedicated server (VPS) untuk mengelola dan menjalankan website dengan kebutuhan khusus (punya banyak traffic, butuh library tambahan, atau yang lainnya) yang jarang disediakan oleh penyedia hosting pada umumnya. Menggunakan Monit dapat membantu dalam melakukan monitoring dan bahkan tindakan (action) terhadap beberapa service,\u00a0khususnya pada\u2026","rel":"","context":"dalam &quot;Coretan&quot;","block_context":{"text":"Coretan","link":"https:\/\/zaf.web.id\/blog\/category\/coretan\/"},"img":{"alt_text":"Logo Monit","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2015\/11\/monit-300x203.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1954,"url":"https:\/\/zaf.web.id\/blog\/mitigasi-malware-di-web-server-dan-cara-membersihkannya\/","url_meta":{"origin":791,"position":4},"title":"Mitigasi Malware di Web Server dan Cara Membersihkannya","author":"Zaf","date":"November 23, 2022","format":false,"excerpt":"Malware selalu menjadi hal yang merepotkan. Umumnya pembuat malware tidak membuat malware untuk sekedar ajang pamer layaknya defacement. Malware dibuat demi tujuan yang lebih besar dan masif, dan biasanya tidak berjalan secara sendiri-sendiri melainkan menjadi sebuah network atau perkumpulan. Discovery Disuatu pagi tiba-tiba salah satu website yang kami kelola menunjukkan\u2026","rel":"","context":"dalam &quot;Security&quot;","block_context":{"text":"Security","link":"https:\/\/zaf.web.id\/blog\/category\/security\/"},"img":{"alt_text":"Mencari induk malware","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2022\/11\/6.-cari-dan-hapus-file-ico.png?fit=795%2C241&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1501,"url":"https:\/\/zaf.web.id\/blog\/upload-file-sederhana-ke-aws-s3-dengan-php\/","url_meta":{"origin":791,"position":5},"title":"Upload File Sederhana ke AWS S3 dengan PHP","author":"Zaf","date":"Agustus 9, 2020","format":false,"excerpt":"AWS telah menyediakan SDK untuk memudahkan transaksi terhadap beberapa servicenya secara program, salah satu yang disediakan adalah untuk PHP. Namun terkadang kebutuhan tidak sesuai dengan usaha yang harus dikeluarkan. Untuk sekedar upload file ke S3 milik AWS kita perlu load\/download paket lengkap dari SDK nya, rasanya agak berlebihan. Setelah googling\u2026","rel":"","context":"dalam &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/zaf.web.id\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2020\/08\/Screenshot-2024-09-06-at-00.22.03.png?fit=1200%2C813&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2020\/08\/Screenshot-2024-09-06-at-00.22.03.png?fit=1200%2C813&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2020\/08\/Screenshot-2024-09-06-at-00.22.03.png?fit=1200%2C813&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2020\/08\/Screenshot-2024-09-06-at-00.22.03.png?fit=1200%2C813&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/zaf.web.id\/blog\/wp-content\/uploads\/2020\/08\/Screenshot-2024-09-06-at-00.22.03.png?fit=1200%2C813&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4zLnS-cL","_links":{"self":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/comments?post=791"}],"version-history":[{"count":12,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/791\/revisions"}],"predecessor-version":[{"id":872,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/posts\/791\/revisions\/872"}],"wp:attachment":[{"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/media?parent=791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/categories?post=791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zaf.web.id\/blog\/wp-json\/wp\/v2\/tags?post=791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}