การปรับใช้เพื่อใช้งานจริงและการแสดงละครด้วย Deploybot
เผยแพร่แล้ว: 2022-06-30หากคุณอยู่ในการพัฒนาเว็บมาระยะหนึ่งแล้ว คุณอาจทำการโอนไฟล์ผิดพลาดในขณะที่พยายามอัปเดตไซต์ ในกรณีที่ดีที่สุด คุณจะเพิ่มไฟล์ที่ระบุตัวได้ง่ายจำนวนมากลงในไดเร็กทอรี และคุณจะลบออกเพื่อแก้ไขข้อผิดพลาด ใช่ มันทำให้คุณเสียเวลาและมันน่ารำคาญ แต่ก็ไม่ได้ทำอันตรายอะไร
ในกรณีที่เลวร้ายที่สุด คุณถ่ายโอนไฟล์ธีมจำนวนมากอย่างไม่ถูกต้อง จากนั้นคุณต้องหาว่าอันไหนถูกเขียนทับ อันไหนไม่เกี่ยวข้อง และคุณจะกู้คืนสถานะการทำงานที่เหมาะสมของธีมของคุณได้อย่างไร
วันนี้เราจะแก้ไขปัญหานี้โดยใช้ Git และ Deploybot เพื่อทำให้กระบวนการปรับใช้ของคุณเป็นไปโดยอัตโนมัติ
การปรับใช้อัตโนมัติคืออะไร
การปรับใช้อัตโนมัติขั้นพื้นฐานมีสี่ส่วนดังแสดงในแผนภาพนี้

นักพัฒนาส่วนใหญ่เริ่มต้นด้วยโค้ดและเซิร์ฟเวอร์เท่านั้น พวกเขาทำการเปลี่ยนแปลงในสำเนาการทำงานของไซต์ จากนั้นจึงส่งการเปลี่ยนแปลงเหล่านั้นไปยังเซิร์ฟเวอร์โดยตรงผ่าน FTP เครื่องมืออย่าง Coda หรือ Dreamweaver มีการผสานรวม FTP โดยตรง คุณจึงสามารถทำได้จากภายในสภาพแวดล้อมการเข้ารหัสของคุณ
ขั้นตอนต่อไปที่นักพัฒนาหลายคนทำคือการเพิ่มไซต์การแสดงละคร เพื่อไม่ให้พวกเขาแก้ไขเซิร์ฟเวอร์ที่ใช้งานจริงโดยตรง คุณสามารถทำเช่นนี้กับบางอย่างเช่น VVV หรือ MAMP บ่อยครั้งสิ่งนี้ยังหมายความว่าคุณกำลังใช้ระบบควบคุมเวอร์ชันเช่น Git เพื่อจัดการการเปลี่ยนแปลงที่คุณทำกับไซต์ที่ทำงานในพื้นที่ของคุณ
เมื่อคุณเพิ่มไซต์การแสดงละคร คุณยังเพิ่มความซับซ้อนอีกด้วย คุณจะได้รับการเปลี่ยนแปลงโค้ดจากไซต์ที่ทำงานในพื้นที่ของคุณเป็นไซต์แสดงละครที่ลูกค้าของคุณสามารถดูการเปลี่ยนแปลงได้อย่างไร ใช่ อย่างที่ฉันพูดไปแล้ว คุณสามารถใช้ไคลเอนต์ FTP พื้นฐาน เช่น FileZilla, Transmit หรือ Forklift เพื่อย้ายไฟล์เมื่อคุณทำการเปลี่ยนแปลง แต่สิ่งนี้มักเกิดข้อผิดพลาด และนี่คือจุดที่การทำให้กระบวนการปรับใช้ของคุณเป็นอัตโนมัติจะช่วยคุณประหยัดเวลาได้มาก
แทนที่จะนำไฟล์ที่คุณเปลี่ยนและพุชไปยังเซิร์ฟเวอร์การจัดเตรียม คุณใช้ระบบอื่นเพื่อตรวจหาการเปลี่ยนแปลงในที่เก็บ Git ของคุณโดยอัตโนมัติ และพุชเฉพาะการเปลี่ยนแปลงเหล่านั้นไปยังไซต์การจัดเตรียมที่ไคลเอ็นต์ของคุณสามารถใช้เพื่อตรวจสอบงานได้
นั่นยังคงทำให้ไซต์จริงของคุณเป็นแบบปรับใช้ด้วยตนเอง ซึ่งน่ากลัวกว่ามากเพราะอาจหมายถึงการสูญเสียเงินจริงหากคุณลบไซต์ที่ทำงานสด สมมติว่าคุณกำลังจะตั้งค่าระบบการปรับใช้ของคุณให้ปรับใช้โดยอัตโนมัติเพื่อจัดเตรียม จากนั้นระบบของคุณจะปรับใช้ด้วยการคลิกเพียงครั้งเดียวไปยังสภาพแวดล้อมแบบสดเมื่อคุณพร้อมที่จะไป
ตอนนี้คุณมีระบบที่มีลักษณะเช่นนี้

มาเริ่มกันเลยดีกว่า ผมจะได้แสดงให้คุณเห็นว่าผมตั้งค่ากระบวนการปรับใช้นี้สำหรับลูกค้าทุกรายที่ผมทำงานด้วยได้อย่างไร นี่คือขั้นตอนที่ฉันทำทันทีที่ฉันเริ่มโครงการใหม่ ฉัน มักจะ ตรวจสอบให้แน่ใจเสมอว่ากระบวนการปรับใช้ของฉันได้รับการตั้งค่าและทำงานก่อนที่ฉันจะเริ่มทำงานอื่นในโครงการไคลเอนต์
วิธีจัดโครงสร้างที่เก็บ Git ของคุณ
ตัวเลือกแรกของคุณคือ คุณจะตั้งค่าการปรับใช้อัตโนมัติในไดเร็กทอรีใด เว้นแต่ลูกค้าของฉันจะร้องขอให้ควบคุมแหล่งที่มาทั้งหมดสำหรับการติดตั้ง WordPress ของพวกเขาโดยเฉพาะ ฉันใช้ไดเร็กทอรี wp-content เพื่อตั้งค่าระบบการปรับใช้อัตโนมัติของฉัน ที่เริ่มต้นในเทอร์มินัลโดยออกคำสั่งนี้ที่เริ่มต้นที่เก็บ git
git init
ถึงเวลาละเว้นไฟล์ที่คุณไม่ต้องการปรับใช้ตลอดเวลา ไฟล์เหล่านี้เป็นไฟล์ต่างๆ เช่น ไฟล์สำรอง รูปภาพ และไฟล์โปรเจ็กต์แบบกำหนดเองใดๆ ที่โปรแกรมแก้ไขโค้ดจำนวนมากเพิ่มลงในไดเร็กทอรี คุณสามารถดูไฟล์ .gitignore ปกติของฉันได้ที่ด้านล่าง
config/app_config.yml
config/database.yml
config/*.sphinx.conf
config/s3_credentials.yml
*~
*.cache
*.บันทึก
*.pid
tmp/**/*
.DS_Store
db/cstore/**
db/สฟิงซ์/**
doc/api
doc/app
doc/plugins
doc/*.dot
ความคุ้มครอง/*
db/*.sqlite3
*.tmproj
*.sw?
*.esproj
_หมายเหตุ*
dwsync.xml
podcast.xml
*.kpf
*อัพโหลด/*
*.swp
*.ความคิด
*.sublime-project
*.sublime-workspace
*/node_modules/*
แท็ก
*.bak
แคช/*
จัดการไฟล์/*
mu-ปลั๊กอิน/*
dp.php
กระแสน้ำ/*
ภาษา/*
db.php
plugins/wp-rocket/cache.json
คุณสามารถเพิ่มหรือลบออกจากสิ่งนี้ได้ตามต้องการ เกือบทุกโปรเจ็กต์ที่ฉันทำงานต้องการรายการแบบกำหนดเองบางประเภทเพื่อละเว้นไฟล์บางไฟล์ที่เฉพาะเจาะจงสำหรับไซต์การทำงานในพื้นที่ของฉัน ซึ่งไซต์การแสดงละครและไซต์ที่ใช้งานจริงจะมีไฟล์ที่กำหนดเองซึ่งฉันไม่ต้องการเขียนทับ
จากนี้ไป ถึงเวลาตั้งค่าสาขาที่คุณจะต้องดำเนินการระบบการปรับใช้ของคุณ ฉันใช้สองสาขาหลัก อย่างแรกคือสาขาหลักซึ่งสอดคล้องกับไซต์การผลิตจริงของฉัน ประการที่สอง คือสาขาที่ฉันติดป้ายกำกับ staging และสอดคล้องกับไซต์ staging ฉันต้องการให้ลูกค้าของฉันใช้เป็นวิธีตรวจสอบการเปลี่ยนแปลงที่เราทำ
เมื่อคุณเริ่มต้นที่เก็บ Git ของคุณ แสดงว่าคุณมีมาสเตอร์แบรนช์อยู่แล้ว ดังนั้นให้ใช้คำสั่งนี้เพื่อเพิ่มสเตจแบรนช์และลองดู
git checkout -b staging
คำสั่งนี้จะสร้างและตรวจสอบสาขาใหม่ หากคุณเพิ่งเริ่มใช้ git คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งที่มีอยู่ในเอกสารประกอบ Git
ตอนนี้ คุณจะต้องส่งโปรเจ็กต์ของคุณเข้าสู่ระบบควบคุมต้นทาง Github และ Bitbucket เป็นสองตัวเลือกยอดนิยม ซึ่งทั้งคู่ทำงานร่วมกับระบบการปรับใช้อัตโนมัติที่เราจะใช้เรียกว่า Deploybot เมื่อคุณสร้างที่เก็บใหม่กับไซต์ใดไซต์หนึ่ง พวกเขาจะให้คำแนะนำเพิ่มเติมในการเพิ่มที่เก็บข้อมูลในเครื่องของคุณไปยังเวอร์ชันออนไลน์ของคุณใน Github หรือ Bitbucket
- เอกสารการตั้งค่าที่เก็บ Bitbucket
- เอกสารการตั้งค่าที่เก็บ Github
การตั้งค่า Deploybot
เมื่อฉันเริ่มทำงานที่ซับซ้อนมากขึ้นในฐานะนักพัฒนา เพื่อนของฉัน Duane คอยแนะนำ Deploybot ให้ฉันฟังเมื่อฉันบ่นทางออนไลน์เกี่ยวกับการปรับใช้ FTP ด้วยตนเอง ต้องใช้คำแนะนำจำนวนหนึ่งก่อนที่ฉันจะทำตามที่บอกในที่สุด แต่ตอนนี้ฉันเป็นลูกค้า Deploybot ที่มีความสุขมาหลายปีแล้ว
แม้ว่าจะมีวิธีอื่นๆ ในการปรับใช้ไซต์ของคุณ หลายวิธีเกี่ยวข้องกับการเชื่อมต่อกับ Git Webhooks หรือไฟล์การกำหนดค่าการปรับใช้อัตโนมัติบางไฟล์ผ่านตัวแก้ไขโค้ดของคุณ เครื่องมืออื่นๆ นั้นมีพลังมากมาย แต่ถ้าคุณเพิ่งเริ่มต้นใช้งานการปรับใช้อัตโนมัติ ให้เริ่มดำเนินการอย่างตรงไปตรงมา เช่น Deploybot เป็นจุดเริ่มต้น

ในการเริ่มต้นสมัครบัญชี Deploybot และเชื่อมต่อ Github หรือ Bitbucket กับบัญชีของคุณ ฉันจะใช้บัญชี Bitbucket ที่มีอยู่วันนี้ เริ่มต้นด้วยการเพิ่มที่เก็บใหม่ในบัญชี Deploybot ของคุณ


เมื่อคุณพบที่เก็บที่คุณต้องการตั้งค่าสำหรับการปรับใช้อัตโนมัติแล้ว ให้คลิกปุ่มเชื่อมต่อที่ด้านล่างของหน้า การดำเนินการนี้จะส่งคุณกลับไปที่หน้าที่เก็บของคุณในขณะที่ Deploybot เสร็จสิ้นการเริ่มต้นที่เก็บข้อมูลของคุณ โดยทั่วไปขั้นตอนนี้จะเสร็จสิ้นภายในหนึ่งหรือสองนาที ดังนั้นให้เติมกาแฟของคุณและกลับมาตั้งค่ากระบวนการปรับใช้ของคุณให้เสร็จสิ้น
เมื่อพื้นที่เก็บข้อมูลของคุณได้รับการตั้งค่าแล้ว ให้คลิกที่พื้นที่เก็บข้อมูลเพื่อไปยังหน้าหลัก เนื่องจากเรายังไม่ได้ตั้งค่าข้อมูล sFTP จึงจะมีกล่องขนาดใหญ่บอกให้คุณตั้งค่าเซิร์ฟเวอร์ คลิกที่ปุ่มเพื่อสร้างสภาพแวดล้อมและเซิร์ฟเวอร์

เริ่มต้นด้วยการปรับใช้ในสภาพแวดล้อมการจัดเตรียมของเรา ติดป้ายกำกับเซิร์ฟเวอร์ของคุณเป็นการแสดงละคร เลือกการปรับใช้อัตโนมัติ และตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าสาขาเป็นการแสดงละคร

เมื่อเสร็จแล้ว ให้คลิกปุ่ม บันทึก ที่ด้านล่างของหน้าเพื่อย้ายไปยังการกำหนดค่าเซิร์ฟเวอร์ของคุณ
ในหน้าถัดไปให้ระบุว่าเป็นเซิร์ฟเวอร์ Staging อีกครั้งและใส่ข้อมูล sFTP ของคุณจากไซต์ของคุณ หากคุณไม่แน่ใจว่าจะหาได้จากที่ไหน โปรดอ่านคู่มือที่เป็นประโยชน์นี้

เมื่อป้อนข้อมูล sFTP แล้ว คุณสามารถเลื่อนลงไปด้านล่างและบันทึกได้ จากนั้น Deploybot จะทดสอบการเชื่อมต่อของคุณเพื่อให้แน่ใจว่าข้อมูลที่คุณให้มานั้นใช้งานได้จริง ตอนนี้ก็ถึงเวลาที่ต้องทำการติดตั้งใช้งานครั้งแรกสำหรับไซต์เพื่อให้แน่ใจว่าทุกอย่างใช้งานได้ ฉันมักจะเพิ่มไฟล์ test.txt ในการปรับใช้เป็นวิธีที่ง่ายในการตรวจสอบว่าการปรับใช้ทำงานอย่างถูกต้อง
เพื่อเริ่มปรับใช้กับประวัติสภาพแวดล้อมของคุณและคลิกปรับใช้

ตอนนี้ คุณจะเห็นหน้าที่มีข้อความคอมมิต git ล่าสุดของคุณเป็นบันทึกย่อที่คุณจะเห็นภายใน Deploybot ถัดจากการปรับใช้นี้ สำหรับการเปลี่ยนแปลงครั้งใหญ่ ฉันจะเปลี่ยนแปลงสิ่งนี้ แต่ถ้าฉันเพียงแค่เปลี่ยน CSS หรือสิ่งเล็กน้อย ข้อความยืนยันก็จะยังคงอยู่ เนื่องจากนี่คือการจัดเตรียม การคอมมิตทุกรายการใน staging branch ของเราจะถูกปรับใช้โดยอัตโนมัติ ซึ่งหมายความว่าข้อความการคอมมิตของคุณคือสิ่งที่จะแสดงขึ้น เป็นเพียงความมุ่งมั่นเริ่มต้นที่เราต้องทำด้วยตนเองกับไซต์การจัดเตรียมของเรา

ตอนนี้ ให้ตรวจสอบว่าไฟล์ของคุณได้รับการเผยแพร่ไปยังไซต์การจัดเตรียม และเราสามารถตั้งค่าการใช้งานจริงได้
สำหรับการปรับใช้จริงของคุณ ตรวจสอบให้แน่ใจว่าคุณ ไม่ได้ เลือกการปรับใช้อัตโนมัติ และตรวจสอบให้แน่ใจว่าคุณได้เลือกสาขาหลักเป็นแหล่งที่มาของการปรับใช้ของคุณ เราต้องการให้สิ่งนี้เป็นการปรับใช้ด้วยตนเองเมื่อเราพร้อมที่จะผลักดันการเปลี่ยนแปลงไปยังไซต์จริงของเรา
ในการดำเนินการนี้ คุณจะต้องตรวจสอบสาขาหลักของคุณ จากนั้นจึงรวมการเปลี่ยนแปลงจากสาขาการจัดเตรียมของคุณเป็นสาขาหลัก
คุณสามารถทำได้ด้วยคำสั่งเหล่านี้
git checkout master
git ผสานการแสดงละคร
git push origin master
ตอนนี้เมื่อคุณไปที่บัญชี Deploybot คุณจะสามารถปรับใช้การเปลี่ยนแปลงของคุณได้ด้วยตนเอง เช่นเดียวกับที่เราทำกับการปรับใช้ครั้งแรกกับสภาพแวดล้อมการจัดเตรียมของเรา สำหรับสภาพแวดล้อมแบบสดของคุณ ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนข้อความการปรับใช้เพื่อให้เหมาะกับการเปลี่ยนแปลงที่ส่งไปยังไซต์ที่ใช้งานจริงของคุณ คุณควรสร้างข้อมูลสำรองของไซต์ของคุณด้วย คุณสามารถทำได้โดยเข้าถึงการนำทางของข้อมูลสำรองบนไซต์ของคุณ แล้วสร้างข้อมูลสำรองด้วยตนเอง

เพียงเท่านี้ คุณก็จะได้ติดตั้งระบบการปรับใช้อัตโนมัติสำหรับสภาพแวดล้อมการแสดงละครและสภาพแวดล้อมจริง
ข้อควรพิจารณาในการปรับใช้อื่นๆ
แม้ว่าระบบนี้เป็นก้าวสำคัญสำหรับนักพัฒนาส่วนใหญ่ แต่ก็ไม่มีปัญหากับระบบนี้ สิ่งที่ใหญ่ที่สุดคือหากคุณมีการเปลี่ยนแปลงมากมาย คุณยังคงรอให้ FTP ถ่ายโอนไฟล์ที่เปลี่ยนแปลงไปจนเสร็จสิ้น ซึ่งอาจหมายความว่ามีผู้เยี่ยมชมไซต์ของคุณ และไฟล์บางไฟล์ที่ไซต์ของคุณต้องการใช้งานจะไม่ปรากฏ
สำหรับลูกค้าจำนวนมาก ปัญหานี้จะไม่เป็นปัญหา แต่ถ้าสำหรับไซต์ของคุณ คุณจะต้องดูการตั้งค่าระบบการปรับใช้ Atomic ระบบการปรับใช้ประเภทนี้จะย้ายไฟล์ทั้งหมด ตรวจสอบว่าไฟล์ทำงานอย่างถูกต้อง จากนั้นจึงเปลี่ยนการตั้งค่าไฟล์บนเซิร์ฟเวอร์ของคุณ เพื่อให้ไดเร็กทอรีใหม่เป็นไดเร็กทอรีที่เรียกใช้ไซต์ของคุณ
กระบวนการเชื่อมโยงไปยังโฟลเดอร์ใหม่ใช้เวลาสั้นมากจนมีเพียงคอมพิวเตอร์เท่านั้นที่จะสังเกตเห็น นอกจากนี้ยังหมายความว่าหากคุณพบปัญหาในภายหลัง คุณสามารถเปลี่ยนลิงก์ระบบของคุณกลับไปเป็นเวอร์ชันเก่าของไซต์เพื่อย้อนกลับเป็นเวอร์ชันที่ใช้งานได้ ซึ่งอีกครั้งใช้เวลาเพียงสั้นๆ เท่านั้น และลดเวลาหยุดทำงาน
ไม่ว่าคุณจะเลือกทำอะไร ให้หยุดใช้ไคลเอนต์ FTP เพื่อปรับใช้ไฟล์ไคลเอนต์ของคุณตั้งแต่วันนี้ ค่าใช้จ่ายรายเดือนเล็กน้อยของ Deploybot จะได้รับคืนทุกครั้งที่คุณ ทำ ผิดพลาดในการปรับใช้ไฟล์ของคุณ