Utilitas penyebaran CICD otomatis
Integrasi berkelanjutan berarti bahwa sejak Anda memulai proyek Anda, sering berkomitmen untuk Main secara otomatis digunakan. Penyebaran berkelanjutan berarti bahwa sejak Anda memulai proyek Anda, Anda selalu memiliki aplikasi langsung dari aplikasi Anda dalam sebuah wadah di server jarak jauh dengan koneksi publik yang aman.
Setelah menjalankan Ezinnit, WebApp Anda akan berjalan di server Anda, tinggal di domain HTTPS pilihan Anda dan komitmen masa depan ke cabang utama Anda akan secara otomatis digunakan ke aplikasi langsung.
Dalam proses yang sepenuhnya otomatis, Ezinnit menginisialisasi dan mendorong pipa gitlab dan pipa penyebaran Anda dan kemudian menginstal Dokku dan pelari GitLab di server Anda. Repositori GitLab Anda dikonfigurasi untuk secara otomatis menggunakan komitmen apa pun ke cabang utama Anda ke server Anda, di mana aplikasi Anda secara otomatis dibangun dalam wadah dan disajikan di domain https publik Anda.
Ezinnit mencakup templat aplikasi untuk proyek Django, Flask dan Fastapi baru. Template ini dimaksudkan untuk memulai proyek yang sepenuhnya baru, dan membuat situs kerja yang digunakan.
Kembangkan aplikasi yang Anda tahu akan digunakan, karena selalu digunakan.
Untuk mengunduh dan menginstal Ezinnit:
Di direktori root proyek Anda, jalankan:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit -P ezinnit
bash ezinnit/ezinnit
Anda akan diminta:
- Nama Pengguna Gitlab
- Domain Gitlab (jika akun Anda dengan gitlab.com, maka domain gitlab adalah
gitlab.com ) - Token Akses Pribadi Gitlab
- nama aplikasi (juga menjadi nama repositori gitlab Anda)
- Alamat IP server jarak jauh Anda
- domain atau subdomain yang ingin Anda tunjuk ke aplikasi baru Anda, misalnya:
mynewapp.mydomain.com - Alamat email yang akan digunakan untuk mendaftar dengan LetSencrypt
- Template Aplikasi Opsional: Django, Flask atau Fastapi
persyaratan:
- Lingkungan virtual Python dengan aplikasi Anda diinstal (atau untuk membuat proyek django dari awal, lihat bagian bawah readme)
- git
- Akun Gitlab (akun gitlab.com harus diverifikasi untuk menggunakan pelari gitlab, tetapi verifikasi gratis)
- Server yang menjalankan Ubuntu 18.04/20.04/22.04 Cara membuat tetesan laut digital
- Kunci SSH mesin lokal Anda terdaftar di Gitlab
- Kunci SSH mesin lokal Anda ditambahkan ke host yang diizinkan server baru Anda (Digital Ocean Tutorial)
- Agar domain Anda berfungsi, Anda memerlukan rekaman DNS "A" yang menunjuk domain Anda ke alamat IP server Anda (Buat rekaman DNS "A" sebelum menjalankan Ezinnit)
peringatan!
- Skrip ini membuat kunci SSH baru di server jarak jauh!
- Jika Anda memilih templat aplikasi, Ezinnit akan menulis melalui file, termasuk procfile Anda, settings.py, main.py dll. Hanya gunakan templat untuk proyek baru.
Apa yang dilakukan Ezinnit
- Periksa ezinnit.config, jika tidak ada, itu meminta Anda untuk nilai -nilai dan membuat file ezinnit.config
- Jika tidak ada .gitignore di direktori proyek Anda, gunakan toptotal untuk membuat file .gitignore
- Runs App Template Script Jika Anda telah memilih satu (Django, Flask dan Fastapi termasuk dalam rilis ini)
- Membuat pipa gitlab untuk penyebaran otomatis (.gitlab-ci.yml) di direktori proyek Anda
- Jika tidak ada file persyaratan.txt di direktori proyek Anda, membuat file persyaratan.txt
- Menginisialisasi git repositori, menetapkan cabang awal ke utama, mengatur remote ke repositori gitlab baru, berkomitmen dan mendorong ke gitlab
- Mendapat token pelari untuk repositori baru dari gitlab
- salinan ezinnit.config ke server
- menjalankan skrip inisialisasi server di server jarak jauh, yang melakukan berikut:
- Membuat tombol SSH baru di server
- mengunggah tombol SSH server ke GitLab Repository
- mengunduh dan menginstal Dokku di server (ini membutuhkan beberapa menit)
- Membuat aplikasi Dokku di server
- Menetapkan domain untuk aplikasi Dokku di server
- Menetapkan port aplikasi ke 80: 5000 di server
- mengunduh dan membuat pelari gitlab di server
- mendaftarkan pelari gitlab di server
- mengunduh dan menginstal Dokku-letsencrypt di server
- Mengaktifkan enkripsi untuk aplikasi di server dengan sertifikat TLS dari LetSencrypt di server
- Menambahkan pekerjaan chron di server untuk secara otomatis memperbarui sertifikat TLS
- Untuk Django, Flask dan Fastapi, membuat dan menjalankan skrip:
ezrun untuk menemukan port terbuka dan berjalan secara lokal di lingkungan pengembangan - Ketika Ezinnit selesai, GitLab akan secara otomatis mulai menggunakan aplikasi Anda ke server Anda. Ezinnit akan memberi Anda tautan ke repositori baru Anda di mana Anda dapat memeriksa status penyebaran.
Untuk menemukan port terbuka dan menjalankan aplikasi template django, flask atau fastapi ezinnit secara lokal di lingkungan pengembangan:
Menyebarkan sekarang dan selamanya
Gunakan Ezinnit setiap kali Anda memulai proyek WebApp baru. Dengan menekan tombol, proyek Anda akan dimulai dengan repositori GitLab yang secara otomatis menggunakan komitmen utama ke wadah di server pilihan Anda, di mana aplikasi Anda berjalan dan tersedia di domain pilihan Anda.
Anda sekarang dapat mengembangkan untuk lingkungan sejati yang dimaksudkan oleh aplikasi Anda dengan umpan balik instan tentang bagaimana perubahan akan memengaruhi kegunaan dunia nyata. Anda langsung tahu apakah aplikasi Anda akan membangun dalam wadah dan bagaimana perilaku itu di server langsung.
Lingkungan produksi yang aman adalah default, dan mode pengembangan adalah pengecualian - membuat pengembangan aman.
Saat Anda memulai proyek dengan Ezinnit, Anda benar -benar melakukan CICD. Sejak hari pertama, Anda mulai berjalan dengan aplikasi langsung di server Anda sendiri di domain Anda sendiri, sehingga Anda dapat fokus pada apa yang hanya dapat Anda lakukan.
Untuk memulai proyek Django dari awal:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit%20template%20scripts/django.innit -P ezinnit
bash ezinnit/django.innit
John Hewitt
Robert Carroll