ยูทิลิตี้การปรับใช้ CICD อัตโนมัติ
การรวมอย่างต่อเนื่องหมายความว่าตั้งแต่วินาทีที่คุณเริ่มโครงการของคุณบ่อยครั้งที่การดำเนินการหลักจะถูกปรับใช้โดยอัตโนมัติ การปรับใช้อย่างต่อเนื่องหมายความว่าตั้งแต่วินาทีที่คุณเริ่มโครงการคุณจะมีแอพสร้างสดในคอนเทนเนอร์บนเซิร์ฟเวอร์ระยะไกลที่มีการเชื่อมต่อสาธารณะที่ปลอดภัย
หลังจากเรียกใช้ Ezinnit แล้ว WebApp ของคุณจะทำงานบนเซิร์ฟเวอร์ของคุณ LIVE ที่โดเมน HTTPS ที่คุณเลือกและการกระทำในอนาคตกับสาขาหลักของคุณจะปรับใช้กับแอพสดโดยอัตโนมัติ
ในกระบวนการอัตโนมัติอย่างสมบูรณ์ Ezinnit เริ่มต้นและผลักดันที่เก็บ Gitlab และไปป์ไลน์การปรับใช้ของคุณจากนั้นติดตั้ง Dokku และนักวิ่ง Gitlab บนเซิร์ฟเวอร์ของคุณ ที่เก็บ Gitlab ของคุณได้รับการกำหนดค่าให้ปรับใช้การกระทำใด ๆ กับสาขาหลักของคุณไปยังเซิร์ฟเวอร์ของคุณโดยอัตโนมัติซึ่งแอปของคุณจะถูกสร้างขึ้นในคอนเทนเนอร์โดยอัตโนมัติและเสิร์ฟที่โดเมน HTTPS สาธารณะของคุณ
Ezinnit รวมเทมเพลตแอพสำหรับโครงการ Django, Flask และ Fastapi ใหม่ เทมเพลตเหล่านี้มีไว้สำหรับการเริ่มต้นโครงการใหม่อย่างสมบูรณ์และสร้างไซต์ทำงานที่ปรับใช้
พัฒนาแอพที่คุณรู้ว่าจะปรับใช้เพราะพวกเขาใช้งานอยู่เสมอ
ในการดาวน์โหลดและติดตั้ง ezinnit:
ในไดเรกทอรีรากของโครงการของคุณ Run:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit -P ezinnit
bash ezinnit/ezinnit
คุณจะได้รับแจ้งสำหรับ:
- ชื่อผู้ใช้ Gitlab
- โดเมน gitlab (ถ้าบัญชีของคุณอยู่กับ gitlab.com แล้วโดเมน gitlab คือ
gitlab.com ) - โทเค็นการเข้าถึงส่วนบุคคลของ Gitlab
- ชื่อแอพ (ยังกลายเป็นชื่อที่เก็บ gitlab ของคุณด้วย)
- ที่อยู่ IP ของเซิร์ฟเวอร์ระยะไกลของคุณ
- โดเมนหรือโดเมนย่อยที่คุณต้องการชี้ไปที่แอพใหม่ของคุณเช่น:
mynewapp.mydomain.com - ที่อยู่อีเมลที่จะใช้สำหรับการลงทะเบียนกับ LetSenCrypt
- เทมเพลตแอพเสริม: django, flask หรือ fastapi
ความต้องการ:
- สภาพแวดล้อมเสมือนจริงของ Python ที่ติดตั้งแอปของคุณ (หรือเพื่อสร้างโครงการ Django ตั้งแต่เริ่มต้นดูที่ด้านล่างของ readme)
- กระตวน
- บัญชี Gitlab (บัญชี gitlab.com จะต้องได้รับการตรวจสอบให้ใช้นักวิ่ง Gitlab แต่การตรวจสอบฟรี)
- เซิร์ฟเวอร์ที่ใช้ Ubuntu 18.04/20.04/22.04 วิธีสร้างหยดมหาสมุทรดิจิตอล
- คีย์ SSH ในเครื่องของคุณลงทะเบียนบน Gitlab
- คีย์ SSH ในเครื่องของคุณเพิ่มลงในโฮสต์ที่อนุญาตของเซิร์ฟเวอร์ใหม่ของคุณ (Digital Ocean Tutorial)
- เพื่อให้โดเมนของคุณใช้งานได้คุณต้องใช้ DNS "A" บันทึกการชี้โดเมนของคุณไปยังที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ (สร้าง DNS "A" บันทึกก่อนที่จะเรียกใช้ Ezinnit)
คำเตือน!
- สคริปต์นี้สร้างคีย์ SSH ใหม่บนเซิร์ฟเวอร์ระยะไกล!
- หากคุณเลือกเทมเพลตแอป Ezinnit จะเขียนผ่านไฟล์รวมถึง procfile, settings.py, main.py ฯลฯ ใช้เทมเพลตสำหรับโครงการใหม่เอี่ยมเท่านั้น
สิ่งที่ Ezinnit ทำ
- ตรวจสอบ ezinnit.config หากไม่มีอยู่มันจะแจ้งให้คุณทราบถึงค่าและสร้างไฟล์ ezinnit.config
- หากไม่มี. gitignore ในไดเรกทอรีโครงการของคุณให้ใช้ toptotal เพื่อสร้างไฟล์. gitignore
- เรียกใช้สคริปต์เทมเพลตแอพหากคุณเลือกหนึ่ง (Django, Flask และ Fastapi รวมอยู่ในรุ่นนี้)
- สร้างไปป์ไลน์ gitlab สำหรับการปรับใช้อัตโนมัติ (.gitlab-ci.yml) ในไดเรกทอรีโครงการของคุณ
- หากไม่มีไฟล์ข้อกำหนด. txt ในไดเรกทอรีโครงการของคุณให้สร้างไฟล์ข้อกำหนด. txt
- เริ่มต้นที่เก็บข้อมูล GIT ตั้งสาขาเริ่มต้นเป็นหลักตั้งค่าระยะไกลเป็นที่เก็บ Gitlab ใหม่ดำเนินการและผลักดันไปยัง Gitlab
- รับโทเค็นรองชนะเลิศสำหรับที่เก็บใหม่จาก Gitlab
- สำเนา ezinnit.config ไปยังเซิร์ฟเวอร์
- เรียกใช้สคริปต์การเริ่มต้นเซิร์ฟเวอร์บนเซิร์ฟเวอร์ระยะไกลซึ่งทำดังต่อไปนี้:
- สร้างคีย์ SSH ใหม่บนเซิร์ฟเวอร์
- อัปโหลดคีย์ SSH ของเซิร์ฟเวอร์ไปยังที่เก็บ Gitlab
- ดาวน์โหลดและติดตั้ง dokku บนเซิร์ฟเวอร์ (ใช้เวลาไม่กี่นาที)
- สร้างแอพ Dokku บนเซิร์ฟเวอร์
- ตั้งค่าโดเมนสำหรับแอป Dokku บนเซิร์ฟเวอร์
- ตั้งค่าพอร์ตแอพเป็น 80: 5000 บนเซิร์ฟเวอร์
- ดาวน์โหลดและสร้างนักวิ่ง Gitlab บนเซิร์ฟเวอร์
- ลงทะเบียนนักวิ่ง Gitlab บนเซิร์ฟเวอร์
- ดาวน์โหลดและติดตั้ง dokku-letencrypt บนเซิร์ฟเวอร์
- เปิดใช้งานการเข้ารหัสสำหรับแอพบนเซิร์ฟเวอร์ด้วยใบรับรอง TLS จาก LetSenCrypt บนเซิร์ฟเวอร์
- เพิ่มงาน Chron บนเซิร์ฟเวอร์เพื่อต่ออายุใบรับรอง TLS โดยอัตโนมัติ
- สำหรับ Django, Flask และ Fastapi สร้างและเรียกใช้สคริปต์:
ezrun เพื่อค้นหาพอร์ตเปิดและทำงานในท้องถิ่นในสภาพแวดล้อมการพัฒนา - เมื่อ Ezinnit เสร็จสิ้น Gitlab จะเริ่มปรับใช้แอพของคุณไปยังเซิร์ฟเวอร์ของคุณโดยอัตโนมัติ Ezinnit จะให้ลิงค์ไปยังที่เก็บใหม่ของคุณซึ่งคุณสามารถตรวจสอบสถานะการปรับใช้
หากต้องการค้นหาพอร์ตเปิดและเรียกใช้ Django, Flask หรือ Fastapi Ezinnit Template แอพในสภาพแวดล้อมการพัฒนา:
ปรับใช้ตอนนี้และตลอดไป
ใช้ Ezinnit เมื่อใดก็ตามที่คุณเริ่มโครงการ WebApp ใหม่ ที่ปุ่มกด A โครงการของคุณจะเริ่มต้นด้วยที่เก็บ Gitlab ที่ปรับใช้งานหลักโดยอัตโนมัติไปยังคอนเทนเนอร์บนเซิร์ฟเวอร์ที่คุณเลือกซึ่งแอปของคุณกำลังทำงานและพร้อมใช้งานตามโดเมนที่คุณเลือก
ตอนนี้คุณสามารถพัฒนาสำหรับสภาพแวดล้อมที่แท้จริงแอปของคุณมีไว้สำหรับข้อเสนอแนะทันทีเกี่ยวกับวิธีการเปลี่ยนแปลงที่จะส่งผลกระทบต่อการใช้งานในโลกแห่งความเป็นจริง คุณจะรู้ได้ทันทีว่าแอปของคุณจะสร้างในคอนเทนเนอร์และวิธีการทำงานบนเซิร์ฟเวอร์สด
สภาพแวดล้อมการผลิตที่ปลอดภัยเป็นค่าเริ่มต้นและโหมดการพัฒนาเป็นข้อยกเว้น - ทำให้การพัฒนาปลอดภัย
เมื่อคุณเริ่มโครงการกับ Ezinnit คุณกำลังทำ CICD จริงๆ ตั้งแต่วันแรกคุณเข้าสู่พื้นดินที่ทำงานด้วยแอพสดบนเซิร์ฟเวอร์ของคุณเองในโดเมนของคุณเองดังนั้นคุณสามารถมุ่งเน้นไปที่สิ่งที่คุณสามารถทำได้
เพื่อเริ่มโครงการ Django ตั้งแต่เริ่มต้น:
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