-
Notifications
You must be signed in to change notification settings - Fork 8
Continuous Delivery
Continuous delivery (CD atau CDE) adalah pendekatan rekayasa perangkat lunak untuk memastikan bahwa perangkat lunak dapat dirilis setiap saat. Proses penyebaran langsung dan berulang sangat penting untuk penerapan secara terus menerus.
Nirmata adalah layanan turnkey untuk mengelola kontainer aplikasi produksi di cloud publik dan private. Nirmata Suport GCE karenanya dapat dijalankan di Google Platform seperti berikut:
Webhook Relay memungkinkan siapa saja untuk menerima webhook dan memaparkan layanan web ke internet tanpa memiliki IP publik atau mengkonfigurasi NAT / firewall.Bersasarkan Analisa CI/CD dari begitu banyak penyedia maka Codefresh dapat dipilih sebagai acuan dalam project ini. Selain yang sudah dirangkum maka Anda bisa simak lebih detil di dokumentasi.
Selain yang diulas dalam tabel penyedia CI/CD maka untuk GKE hal ini dapat juga dilakukan dengan BitBucket, GitLab, Travis, Codeship, VMWare, CloudBees, Knatife dan masih banyak lagi.
Selain menggunakan layanan maka Anda juga dapat memasang server untuk menjalankan CI/CD. Hal ini akan memberikan keleluasaan yang lebih tinggi dalam menentukan arah project yang Anda bangun baik di Compute Engine maupun Kubernetes Cluster.
$ gcloud components install cloud-build-local
$ cloud-build-local --config=[CONFIG FILE] \
--dryrun=false \
--push \
[SOURCE_CODE]
GoCD adalah alat open-source yang digunakan dalam pengembangan perangkat lunak untuk membantu tim dan organisasi mengotomatiskan pengiriman perangkat lunak yang berkelanjutan. Ini mendukung otomatisasi seluruh proses build-test-release dari kode check-in hingga penyebaran.
Strider adalah platform Open Source Continuous Deployment / Continuous Integration. Ditulis dalam Node.JS/JavaScript dan menggunakan MongoDB. Diterbitkan di bawah lisensi BSD.
Swarm Inception adalah aplikasi yang dijalankan via DockerHub webhook. Build dilakukan via Github webhooks. Ketika selesai DockerHub akan memanggil handler untuk memicu pembaruan.$ git clone https://github.com/giantswarm/swarm-inception.git
$ cd swarm-inception/
$ make deploy
Configuration file written to swarmconfig.py...
docker build -t registry.giantswarm.io/bant/inception .
...<snip>
Creating 'inception' in the 'bant/dev' environment…
Service created successfully!
Starting service 'inception'…
Waiting for 'inception' to get started…
Service 'inception' is up.
You can see all components using this command:
swarm status inception
Use http://inception-bant.gigantic.io/bant/dev/hook on Docker Hub's to deploy a service.
Rancher adalah platform perangkat lunak sumber terbuka yang memungkinkan organisasi menjalankan dan mengelola Docker dan Kubernetes dalam produksi. Rancher memasok seluruh tumpukan perangkat lunak yang diperlukan untuk mengelola kontainer dalam produksi.
Jika Anda membangun project di GitLab maka ada baiknya untuk meninjau OpenFaaS Cloud. Layanan ini di Kubernetes terhubung ke instance GitLab sehingga Anda dapat menjalankan fungsi Server yang di-hosting-sendiri di cloud pribadi atau publik.
OpenShift® adalah platform aplikasi cloud Kubernetes hybrid cloud mendukung Red Hat® Enterprise Linux dan standar Docker.Proses alur kerja, menggunakan GitHub Action untuk gcloud untuk menyebarkan situs web statis ke Google Kubernetes Engine Cluster yang ada.
Untuk detil lebih lanjut silahkan simak Akun GitHub Actions.
Dengan menggunakan sumber di atas maka kita akan terapkan untuk mendapatkan penerapan yang berkesinambungan. Hal ini penting untuk membangun, menguji, dan merilis perangkat lunak dengan kecepatan dan frekuensi yang lebih besar.
Karena project yang kita bahas adalah tentang e-Commerce maka tujuan dari CI/CD kita tetapkan untuk menunjang operasi dalam produksi.
- Menampilkan produk unggulan secara dinamis sesuai Trend.
- Jalankan SEO untuk produk unggulan dari Situs Toko via Google Site untuk berkompetisi di Google Search
- Tampilan data terkini untuk Update Setelan AdWords Secara Otomatis guna peroleh sales return yang paling optimal.
- Tidak memerlukan database karena bisa akses dan pakai data di Google Merchant.
- Tidak perlukan hosting berbayar karena Google Site adalah Free dan AppEngine bisa dijalankan secara gratis.
Pendekatan ini membantu mengurangi biaya, waktu, dan risiko pengiriman perubahan dengan memungkinkan pembaruan lebih lanjut untuk aplikasi dalam produksi. Alur dari pilosopi diatur sbb:
Pengelolaan hasil Optimasi Internal Toko sesuai dengan Publikasi Sesi yg Pertama via Google Sites API.
Pendataan hasil Optimasi Eksternal sesuai dengan Publikasi Sesi yg Kedua via Google Content API.
Pendataan hasil Optimasi Promosi dari kinerja proses ke-1 dan -2 via Google AdWords API.
Pengelolaan atas hasil Optimasi Penjualan dari kinerja proses ke-3 via Google AppEngine.
Penerapan sumber² CI/CD baik berupa layanan maupun setup server dalam rangka mencapai tujuan di atas tentu akan memerlukan pembahasan yang sangat detil seperti sesi Tutorial-Buka-Toko ini.
Oleh karenanya kita akan bagi ke dalam proses demi proses. Pilosopi sederhananya bisa dijabarkan sesuai urutan berikut ini:
Jalankan Iklan Shopping di AdWords untuk dapat data produk yang di rekomendasikan via Google Merchant.
Kemudian dari peta situs toko kita saring daftar semua produk yang memenuhi kriteria via Google AppEngine.
Hasilnya kita masukkan ke Google Merchant sehingga tersimpan menjadi database via Google Content API.
Dari database ini kita pilah lagi produk yang mempunyai hasil dan peluang terbaik via Google AdWords API.
Selanjutnya kita tampilkan sebagai produk unggulan di Situs Toko dari Google Sites via Google Sites API.
Proses diatas detilnya kita akan bahas satu persatu di sesi² berikutnya. Kemudian semuanya akan dirangkum di sesi terakhir yang merupakan sesi penutup dari pubikasi ini:
- GitOps-style CI/CD with Cloud Build
- Google Cloud Build, CI/CD for static websites
- CI/CD from GitHub to Kubernetes with CircleCI
- Continuous Delivery with Containers on GCP with Spinnaker
- Examine Spinnaker Vs. Codefresh for CI/CD platform on Kubernetes
This documentation is mapped under Mapping and licensed under Apache License, Version 2.0.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2018-2020 Chetabahana Project
You are on the wiki of our repo
- Site
- Main
- Project
- Pratinjau
- Pola Dasar
- Bagan Kerja
- Field Tutorial
- Cloud Site API
- Google Ads API
- Cloud Tasks API
- Google Trends API
- Basis Implementasi
- Beranda
- Perangkat
- Pasang Aplikasi
- Penyetelan Aplikasi
- Menyiapkan Frontend
- Menjalankan Backend API
- Menjalankan Toko