ต้องการคำแนะนำการตั้งค่าขั้นพื้นฐาน


0

ฉันตั้ง CentOS ให้ทำงานเว็บไซต์ บริษัท ของเราโดยใช้ Apache Apache apacheทำงานเป็นผู้ใช้ ตอนนี้เพื่ออัปเดตโค้ดเว็บไซต์ของเราโดยใช้ git ฉันได้ตั้งค่าให้ผู้ใช้พูดsumitและสร้างเชลล์สคริปต์ที่ทำgit pull(ฉันคิดว่าเราสามารถใช้งานrsyncได้ แต่ฉันไม่แน่ใจว่าจะใช้มันอย่างไร)

ตอนนี้ฉันตั้งเชลล์สคริปต์นี้ให้ทำงานในเวลาที่เหมาะสมและทำงานได้ดี อย่างไรก็ตามเมื่อดาวน์โหลดการเปลี่ยนแปลงมันจะเปลี่ยนเจ้าของแบบฟอร์มไฟล์apache:apacheให้sumit:sumitเหมือนกับที่เป็นผู้ใช้ที่ดาวน์โหลดด้วย ฉันพยายามใส่chownเชลล์สคริปต์ แต่ไม่เปลี่ยนผู้ใช้เนื่องจากต้องการsudoผู้ใช้

ฉันจะมั่นใจได้อย่างไรว่าการใช้git 1. ฉันสามารถจัดการสิทธิ์ (ดังนั้นโฟลเดอร์ที่เขียนได้ทั้งหมดจะไม่เปลี่ยนแปลงหรือยึดตามความต้องการของฉัน) 2. ไฟล์ใหม่ที่ดาวน์โหลดจะยังคงอยู่สำหรับ apache

โอ้ฉันพยายามใช้ cron โดยใช้apacheผู้ใช้ แต่นั่นไม่ได้ผลเหมือนapacheถูกแบนจากเชลล์

คำตอบ:


0

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

มีหลายวิธีที่คุณสามารถทำได้ มีเซิร์ฟเวอร์บิลด์เชิงพาณิชย์เช่น TeamCity หรือ Jenkins / Hudson (และอื่น ๆ ที่คล้ายคลึงกัน) ซึ่งมีฟังก์ชันการทำงานในตัวทุกประเภทสำหรับการปรับใช้

อีกวิธีหนึ่งคือคุณสามารถใช้ git hook บนเซิร์ฟเวอร์ git ของคุณเพื่อเรียกใช้สคริปต์ซึ่งทำการตั้งค่าการคัดลอกและการอนุญาตสำหรับคุณ เบ็ดนี้จะต้องเรียกใช้ในฐานะผู้ใช้ที่มีสิทธิ์ที่ถูกต้องในการ chown / chmod อย่างเห็นได้ชัด แต่คุณสามารถทำได้อย่างปลอดภัยด้วยปุ่ม ssh


โครงการของฉันอยู่ใน PHP และไม่จำเป็นต้องรวบรวม การใช้ GIT เป็นเพียงเพื่อให้แน่ใจว่าเราได้ควบคุมเวอร์ชันของสคริปต์ที่ไปบนเซิร์ฟเวอร์ฉันสามารถติดตั้ง FTP แต่ไม่ให้เวอร์ชันของสคริปต์บนเซิร์ฟเวอร์ สำหรับการอนุญาตใช่เราสามารถเรียกใช้สคริปต์เช่นผู้ใช้ปัจจุบันของฉัน แต่ฉันควรอนุญาตให้ผู้ใช้รายนั้นเพื่อให้มันทำงานโดยไม่ต้องทำ suo
Sumit Gupta
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.