กลับไปหน้าบทความ

อ่าน 3 นาที

ทีมซิตี้

TeamCityเป็น เซิร์ฟเวอร์ การจัดการการสร้างและการรวมระบบอย่างต่อเนื่อง / การส่งมอบอย่างต่อเนื่อง (CI/CD) ที่พัฒนาโดยJetBrains เปิดตัวครั้งแรกเมื่อวันที่ 2 ตุลาคม 2549 TeamCity...

ทีมซิตี้

(Learn how and when to remove this message)
ทีมซิตี้
นักพัฒนาเจ็ทเบรนส์
ปล่อย2 ตุลาคม 2549 (2006-10-02)
เวอร์ชันเสถียร
2025.11 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า
เขียนเป็นชวา
ระบบปฏิบัติการแอปพลิ เคชันเว็บ แบบเซิร์ฟเวอร์
พิมพ์การผสานรวมอย่างต่อเนื่อง , การส่งมอบอย่างต่อเนื่อง , การสร้างอัตโนมัติ
ใบอนุญาตซอฟต์แวร์เชิงพาณิชย์ที่เป็นกรรมสิทธิ์ซอฟต์แวร์ฟรีสำหรับทีมที่ปฏิบัติตามเงื่อนไขของซัพพลายเออร์
เว็บไซต์www.jetbrains.com/teamcity/

TeamCityเป็น เซิร์ฟเวอร์ การจัดการการสร้างและการรวมระบบอย่างต่อเนื่อง / การส่งมอบอย่างต่อเนื่อง (CI/CD) ที่พัฒนาโดยJetBrains [ 2 ] เปิดตัวครั้งแรกเมื่อวันที่ 2 ตุลาคม 2549 TeamCity ได้รับการออกแบบมาเพื่อช่วยทีมพัฒนาในการสร้าง ทดสอบ และปรับใช้กระบวนการสำหรับโครงการซอฟต์แวร์บนแพลตฟอร์มและเทคโนโลยีที่หลากหลายโดยอัตโนมัติ[ 3 ] TeamCity ดำเนินงานภายใต้ โมเดลการอนุญาต แบบฟรีเมียมโดยมีระดับฟรีที่มีการกำหนดค่าการสร้างได้สูงสุด 100 รายการและใบอนุญาต Build Agent สามรายการ ในขณะที่ โครงการ โอเพนซอร์สสามารถขอใบอนุญาตฟรีได้ทั้งหมด คุณสมบัติระดับองค์กรต้องใช้ใบอนุญาตแบบชำระเงิน

ภาพรวม

TeamCity ทำหน้าที่เป็นแพลตฟอร์มส่วนกลางสำหรับ แนวทางปฏิบัติ DevOpsช่วยให้ทีมสามารถนำ เวิร์กโฟลว์ การรวมระบบอย่างต่อเนื่อง (Continuous Integration ) และการส่งมอบอย่างต่อเนื่อง (Continuous Delivery) ไปใช้ได้ระบบจะตรวจสอบระบบควบคุมเวอร์ชันเพื่อหาการเปลี่ยนแปลง และเรียกใช้การสร้าง การทดสอบ และการปรับใช้โดยอัตโนมัติตามกฎและทริกเกอร์ที่กำหนดค่าได้ อินเทอร์เฟซบนเว็บช่วยให้มองเห็นสถานะการสร้าง ผลการทดสอบ ตัวชี้วัดคุณภาพโค้ด และไปป์ไลน์การปรับใช้ได้อย่างครอบคลุม แพลตฟอร์มนี้สร้างขึ้นโดยใช้Javaและทำงานเป็นแอปพลิเคชันเซิร์ฟเวอร์ที่สามารถปรับใช้ได้ทั้งในระบบภายในองค์กรหรือในสภาพแวดล้อมคลาวด์ TeamCity รองรับการประมวลผลการสร้างแบบกระจายผ่านสถาปัตยกรรม Build Agent ช่วยให้ทีมสามารถปรับขนาดโครงสร้างพื้นฐาน CI/CD ของตนไปยังเครื่องและสภาพแวดล้อมต่างๆ ได้

คุณสมบัติหลัก

การจัดการอาคาร

  • การกำหนดค่าการสร้างที่ยืดหยุ่น:รองรับกระบวนการสร้างที่ซับซ้อนพร้อมการพึ่งพา การทำงานแบบขนาน และตรรกะแบบมีเงื่อนไข
  • เทมเพลตการสร้าง:เทมเพลตการกำหนดค่าที่สามารถนำกลับมาใช้ใหม่ได้ เพื่อสร้างมาตรฐานกระบวนการสร้างในโครงการต่างๆ
  • การจัดการอาร์ติแฟกต์:คลังเก็บอาร์ติแฟกต์ในตัวพร้อมระบบกำหนดเวอร์ชัน นโยบายการล้างข้อมูล และการแก้ไขความสัมพันธ์ระหว่างอา ร์ติแฟกต์
  • ตัวกระตุ้นการสร้าง:มีตัวกระตุ้นหลายประเภท ได้แก่ การเปลี่ยนแปลงของระบบควบคุมเวอร์ชัน (VCS), ตัวกระตุ้นตามกำหนดเวลา, ตัวกระตุ้นตามความสัมพันธ์ และตัวกระตุ้นแบบกำหนดเอง
  • พารามิเตอร์การสร้าง:พารามิเตอร์ที่กำหนดค่าได้สำหรับการสร้างและการปรับใช้เฉพาะสภาพแวดล้อม

การบูรณาการและการทดสอบอย่างต่อเนื่อง

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

การบูรณาการสภาพแวดล้อมการพัฒนา

  • ปลั๊กอิน IDE:การผสานรวมอย่างเป็นธรรมชาติกับIntelliJ IDEA , Eclipse , Visual Studioและ IDE ยอดนิยมอื่นๆ
  • การทดสอบการเปลี่ยนแปลงล่วงหน้า:นักพัฒนาสามารถตรวจสอบความถูกต้องของการเปลี่ยนแปลงในเครื่องของตนเองก่อนที่จะส่งไปยังที่เก็บโค้ด
  • การแจ้งเตือนแบบเรียลไทม์:สร้างการแจ้งเตือนสถานะผ่านอีเมล Slack และช่องทางการสื่อสารอื่นๆ
  • เวอร์ชันส่วนบุคคล:การตรวจสอบความถูกต้องของเวอร์ชันส่วนตัวสำหรับนักพัฒนาแต่ละคน

การจัดการการปรับใช้และการเผยแพร่

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

เทคโนโลยีที่รองรับ

ภาษาและแพลตฟอร์มการเขียนโปรแกรม

เครื่องมือสร้างและตัวจัดการแพ็กเกจ

การสนับสนุนด้านภาษาอย่างครอบคลุม:

  • ภาษา Java และ JVM (Scala, Groovy, Clojure)
  • .NET Framework และ .NET Core (C#, VB.NET, F#)
  • JavaScript และ Node.js
  • ไพธอน
  • ทับทิม
  • ไป
  • ซี++ และ ซี
  • พีพี
  • สวิฟต์
  • โคทลิน

เครื่องมือสร้างและตัวจัดการแพ็กเกจ กลไกการสร้างหลัก:

  • Maven (ระบบนิเวศของ Java)
  • Gradle (ระบบนิเวศ Java/Android)
  • MSBuild (ระบบนิเวศ .NET)
  • Apache Ant (ระบบนิเวศของ Java)

เอ็นจิ้นการพัฒนาเกม

  • Unity (การเขียนสคริปต์ด้วยภาษา C#)
  • Unreal Engine (C++, Blueprint ระบบเขียนสคริปต์แบบภาพ)
  • Godot (GDScript, C#, C++)
  • GameMaker Studio (GML)
  • สร้าง
  • Cocos2d (C++, JavaScript, Lua)
  • เอ็นจิ้นและเฟรมเวิร์กเกมแบบกำหนดเอง

โปรแกรมจัดการแพ็กเกจ:

  • npm และ Yarn (JavaScript/Node.js)
  • NuGet (ระบบนิเวศ .NET)
  • pip (Python)
  • รูบี้เจมส์ (รูบี้)

การสนับสนุนการสร้างเพิ่มเติม

นอกจากนี้ TeamCity ยังรองรับฟังก์ชันพื้นฐานดังต่อไปนี้:

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

ระบบควบคุมเวอร์ชัน

TeamCity รองรับการผสานรวมอย่างครอบคลุมกับระบบ ควบคุมเวอร์ชัน หลักๆ:

สถาปัตยกรรม

TeamCity ใช้สถาปัตยกรรมแบบกระจายศูนย์ซึ่งประกอบด้วย:

  • TeamCity Server:ส่วนประกอบการจัดการส่วนกลางที่ทำหน้าที่เป็นโฮสต์ของเว็บอินเทอร์เฟซ จัดการการตั้งค่า และประสานงานการสร้างโปรแกรม
  • Build Agents:ตัวประมวลผลแบบกระจายที่ดำเนินการงานสร้างและรายงานผลลัพธ์กลับไปยังเซิร์ฟเวอร์
  • ฐานข้อมูล:พื้นที่จัดเก็บข้อมูลถาวรสำหรับประวัติการสร้าง การกำหนดค่า และข้อมูลเมตา
  • พื้นที่จัดเก็บอาร์ติแฟกต์:ที่เก็บผลลัพธ์จากการสร้างโปรแกรม ไลบรารี และแพ็กเกจสำหรับการติดตั้งใช้งาน

สถาปัตยกรรมนี้ช่วยให้สามารถขยายขนาดในแนวนอนและรองรับการใช้งานระบบคลาวด์แบบไฮบริดได้

ประโยชน์

สำหรับทีมพัฒนา

วงจรการตอบรับที่รวดเร็วยิ่งขึ้น:การแจ้งเตือนทันทีเมื่อเกิดข้อผิดพลาดในการสร้างและผลการทดสอบ การประกันคุณภาพ:การตรวจสอบคุณภาพโค้ดอัตโนมัติ และการรายงานการทดสอบที่ครอบคลุม การทำงานร่วมกัน:การมองเห็นสถานะโครงการและประวัติการสร้างร่วมกัน ประสิทธิภาพการทำงานของนักพัฒนา:การผสานรวม IDE และการตรวจสอบก่อนการคอมมิตช่วยลดการสลับบริบท

สำหรับองค์กรต่างๆ

ลดความเสี่ยง:การทดสอบอัตโนมัติและการตรวจสอบความถูกต้องของการใช้งานช่วยลดปัญหาที่เกิดขึ้นในขั้นตอนการผลิต การปฏิบัติตามกฎระเบียบ : บันทึก การตรวจสอบ การควบคุมการเข้าถึง และการติดตามการใช้งานช่วยสนับสนุนข้อกำหนดด้านกฎระเบียบ ประสิทธิภาพด้านต้นทุน:ลดความพยายามด้วยตนเองในกระบวนการสร้างและใช้งาน ความสามารถในการขยายขนาด:สถาปัตยกรรมแบบกระจายช่วยสนับสนุนทีมพัฒนาที่กำลังเติบโตและโครงการที่ซับซ้อน

การเปรียบเทียบกับคู่แข่ง

TeamCity แข่งขันกับแพลตฟอร์ม CI/CD อื่นๆ เช่นJenkins , GitLab CI/CD, GitHub Actions, Azure DevOpsและCircleCI

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

การออกใบอนุญาต

TeamCity มีแพ็กเกจใบอนุญาตให้เลือกหลายระดับ:

ระดับมืออาชีพ:ฟรีสำหรับการกำหนดค่าการสร้างสูงสุด 100 รายการและเอเจนต์การสร้าง 3 ตัว ระดับ องค์กร:ใบอนุญาตเชิงพาณิชย์พร้อมการกำหนดค่าการสร้างและเอเจนต์แบบไม่จำกัดจำนวน โอเพนซอร์ส:ใบอนุญาตฟรีสำหรับโครงการโอเพนซอร์สที่มีคุณสมบัติเหมาะสม ระดับ การศึกษา:ใบอนุญาตเพื่อการศึกษาสำหรับโรงเรียนและมหาวิทยาลัย

ดูเพิ่มเติม

เว็บไซต์อย่างเป็นทางการของ TeamCity เอกสารประกอบการใช้งานTeamCity บล็อกของ TeamCity

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=TeamCity&oldid=1353135067 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ทีมซิตี้

TeamCityเป็น เซิร์ฟเวอร์ การจัดการการสร้างและการรวมระบบอย่างต่อเนื่อง / การส่งมอบอย่างต่อเนื่อง (CI/CD) ที่พัฒนาโดยJetBrains เปิดตัวครั้งแรกเมื่อวันที่ 2 ตุลาคม 2549 TeamCity...

ภาพรวม

TeamCity ทำหน้าที่เป็นแพลตฟอร์มส่วนกลางสำหรับ แนวทางปฏิบัติ DevOps ช่วยให้ทีมสามารถนำ เวิร์กโฟลว์ การรวมระบบอย่างต่อเนื่อง (Continuous Integration ) และ การส่งมอบอย่างต่อเนื่อง (Continuous Delivery) ไปใช้ได้ ระบบจะตรวจสอบ ระบบควบคุมเวอร์ชัน...

การจัดการอาคาร

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

การบูรณาการและการทดสอบอย่างต่อเนื่อง

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