ฉันกำลังมองหาเทคนิค / เครื่องมือต่าง ๆ ที่คุณใช้ในการปรับใช้โครงการแอปพลิเคชันเว็บ ASP.NET ( ไม่ใช่เว็บไซต์ ASP.NET) กับการผลิต?
ฉันสนใจเป็นพิเศษเกี่ยวกับเวิร์กโฟลว์ที่เกิดขึ้นระหว่างเวลาที่เซิร์ฟเวอร์ Continuous Integration Build ของคุณทิ้งไบนารีในบางตำแหน่งและเวลาที่คำขอของผู้ใช้ครั้งแรกกระทบกับไบนารีเหล่านี้
คุณใช้เครื่องมือเฉพาะบางอย่างหรือแค่ XCOPY? แอปพลิเคชันเป็นแพ็กเกจอย่างไร (ZIP, MSI, ... )
เมื่อแอปพลิเคชันถูกปรับใช้เป็นครั้งแรกคุณจะตั้งค่า App Pool และ Virtual Directory ได้อย่างไร (คุณสร้างด้วยตนเองหรือด้วยเครื่องมือบางอย่าง)
เมื่อทรัพยากรแบบคงที่เปลี่ยนไป (CSS, JS หรือไฟล์รูปภาพ) คุณจะปรับใช้แอปพลิเคชันทั้งหมดใหม่หรือเฉพาะทรัพยากรที่แก้ไข แล้วหน้าแอสเซมบลี / ASPX จะเปลี่ยนไปอย่างไร?
คุณติดตามเวอร์ชันที่ปรับใช้ทั้งหมดสำหรับแอปพลิเคชันที่กำหนดหรือไม่และในกรณีที่เกิดข้อผิดพลาดคุณมีขั้นตอนในการกู้คืนแอปพลิเคชันกลับสู่สถานะการทำงานที่ทราบก่อนหน้านี้หรือไม่?
อย่าลังเลที่จะทำรายการก่อนหน้านี้ให้เสร็จสิ้น
และนี่คือสิ่งที่เราใช้เพื่อปรับใช้แอปพลิเคชัน ASP.NET ของเรา:
- เราเพิ่มWeb Deployment Projectลงในโซลูชันและตั้งค่าเพื่อสร้างเว็บแอปพลิเคชัน ASP.NET
- เราเพิ่มโครงการติดตั้ง ( ไม่ใช่โครงการตั้งค่าเว็บ) ลงในโซลูชันและตั้งค่าให้ใช้ผลลัพธ์ของโครงการปรับใช้เว็บ
- เราเพิ่มการดำเนินการติดตั้งแบบกำหนดเองและในเหตุการณ์ OnInstall เรารันแอสเซมบลี. NET แบบกำหนดเองที่สร้าง App Pool และ Virtual Directory ใน IIS โดยใช้System.DirectoryServices.DirectoryEntry (งานนี้จะดำเนินการในครั้งแรกที่มีการปรับใช้แอ็พพลิเคชันเท่านั้น) . เราสนับสนุนเว็บไซต์หลายแห่งใน IIS การรับรองความถูกต้องสำหรับไดเรกทอรีเสมือนและการตั้งค่าตัวตนสำหรับ App Pools
- เราเพิ่มงานที่กำหนดเองใน TFS เพื่อสร้างโครงการติดตั้ง (TFS ไม่รองรับโครงการติดตั้งดังนั้นเราจึงต้องใช้ devenv.exe เพื่อสร้าง MSI)
- มีการติดตั้ง MSI บนเซิร์ฟเวอร์ที่ใช้งานจริง (หากมี MSI รุ่นก่อนหน้าจะถูกถอนการติดตั้งก่อน)