CICD สำหรับสตาร์ทอัพ: มีเครื่องมืออะไรบ้าง และเหตุใดจึงไม่ใช่แค่บริษัทขนาดใหญ่และมีชื่อเสียงเท่านั้นที่ใช้มัน

นักพัฒนาเครื่องมือ CICD มักจะระบุรายชื่อบริษัทขนาดใหญ่เป็นลูกค้า เช่น Microsoft, Oculus, Red Hat แม้แต่ Ferrari และ NASA ดูเหมือนว่าแบรนด์ดังกล่าวใช้งานได้เฉพาะกับระบบที่มีราคาแพงซึ่งสตาร์ทอัพที่ประกอบด้วยนักพัฒนาสองสามคนและนักออกแบบไม่สามารถจ่ายได้ แต่เครื่องมือส่วนสำคัญนั้นมีให้สำหรับทีมขนาดเล็ก

เราจะบอกคุณถึงสิ่งที่คุณสนใจด้านล่าง

CICD สำหรับสตาร์ทอัพ: มีเครื่องมืออะไรบ้าง และเหตุใดจึงไม่ใช่แค่บริษัทขนาดใหญ่และมีชื่อเสียงเท่านั้นที่ใช้มัน
ภาพถ่าย — ซีซาบา บาลาส — อันสแปลช

เซ็นเซอร์ PHP

เซิร์ฟเวอร์ CI แบบโอเพ่นซอร์สที่ทำให้การสร้างโปรเจ็กต์ใน PHP เป็นเรื่องง่าย นี่คือทางแยกของโครงการ PHPCI. PHPCI เองยังคงพัฒนาอยู่ แต่ไม่กระตือรือร้นเหมือนเมื่อก่อน

PHP Censor สามารถทำงานร่วมกับ GitHub, GitLab, Mercurial และที่เก็บข้อมูลอื่นๆ อีกหลายแห่ง ในการทดสอบโค้ด เครื่องมือจะใช้ไลบรารี Atoum, PHP Spec, Behat, Codeception ที่นี่ ไฟล์ตัวอย่าง การกำหนดค่าสำหรับกรณีแรก:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

การพิจารณาPHP Censor นั้นเหมาะอย่างยิ่งสำหรับการปรับใช้โปรเจ็กต์ขนาดเล็ก แต่คุณจะต้องโฮสต์และกำหนดค่าด้วยตัวเอง (โฮสต์เอง) งานนี้ง่ายขึ้นด้วยเอกสารประกอบที่มีรายละเอียดพอสมควร - มันอยู่บน GitHub.

เร็กซ์

Rex ย่อมาจาก Remote Execution ระบบนี้ได้รับการพัฒนาโดยวิศวกร Ferenc Erki เพื่อทำให้กระบวนการต่างๆ ในศูนย์ข้อมูลเป็นแบบอัตโนมัติ Rex ใช้สคริปต์ Perl แต่ไม่จำเป็นต้องรู้ภาษานี้เพื่อโต้ตอบกับเครื่องมือ - การดำเนินการส่วนใหญ่ (เช่น การคัดลอกไฟล์) มีการอธิบายไว้ในไลบรารีฟังก์ชัน และสคริปต์มักจะพอดีกับสิบบรรทัด นี่คือตัวอย่างสำหรับการเข้าสู่เซิร์ฟเวอร์หลายเครื่องและใช้งาน:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

เราขอแนะนำให้คุณเริ่มทำความคุ้นเคยกับเครื่องมือด้วย คู่มืออย่างเป็นทางการ и e-bookซึ่งขณะนี้กำลังดำเนินการแล้วเสร็จ

บริการสร้างแบบเปิด (OBS)

นี่คือแพลตฟอร์มสำหรับการเพิ่มประสิทธิภาพการพัฒนาการกระจาย รหัสของมันเปิดอยู่และอยู่ในพื้นที่เก็บข้อมูลที่ GitHub. ผู้เขียนเครื่องมือคือบริษัท โนเวลล์. เธอเข้าร่วมในการพัฒนาการแจกจ่าย SuSE และโครงการนี้เริ่มแรกเรียกว่า openSUSE Build Service จึงไม่น่าแปลกใจเลยที่ Open Build Service ใช้ สำหรับการสร้างโครงการใน openSUSE, Tizen และ VideoLAN Dell, SGI และ Intel ยังทำงานร่วมกับเครื่องมือนี้ด้วย แต่ในหมู่ผู้ใช้ทั่วไปก็มีบริษัทสตาร์ทอัพเล็กๆ เช่นกัน โดยเฉพาะอย่างยิ่งสำหรับพวกเขา ผู้เขียนได้รวบรวม (หน้า 10) กำหนดค่าไว้ล่วงหน้าแล้ว แพคเกจซอฟต์แวร์. ตัวระบบนั้นฟรีโดยสมบูรณ์ - คุณเพียงแค่ต้องเสียเงินกับการโฮสต์หรือเซิร์ฟเวอร์ฮาร์ดแวร์เพื่อปรับใช้

แต่ตลอดการดำรงอยู่ของมัน เครื่องมือนี้ไม่เคยได้รับชุมชนที่กว้างขวางเลย แม้ว่า เขาเคยเป็น เป็นส่วนหนึ่งของ Linux Developer Network ซึ่งรับผิดชอบในการสร้างมาตรฐานระบบปฏิบัติการแบบเปิด มันอาจจะเป็นเรื่องยาก ค้นหาคำตอบสำหรับคำถามของคุณในฟอรัมเฉพาะเรื่อง แต่ชาว Quora คนหนึ่งตั้งข้อสังเกตว่า แชท ไออาร์ซี บน Freenode สมาชิกชุมชนตอบสนองค่อนข้างพร้อม ปัญหาของชุมชนเล็กๆ ไม่ใช่เรื่องระดับโลก เนื่องจากมีอธิบายวิธีแก้ปัญหาไว้มากมายแล้ว ในเอกสารอย่างเป็นทางการ (PDF และ EPUB) อ้างแล้ว สามารถค้นหา แนวทางปฏิบัติที่ดีที่สุดสำหรับการทำงานกับ OBS (มีตัวอย่างและกรณีต่างๆ)

ดาดฟ้า

เปิดเครื่องมือ (GitHub) ซึ่งทำให้งานในศูนย์ข้อมูลและระบบคลาวด์เป็นอัตโนมัติโดยใช้สคริปต์ เซิร์ฟเวอร์สคริปต์พิเศษมีหน้าที่รับผิดชอบในการดำเนินการ เราสามารถพูดได้ว่า Rundeck เป็น “ลูกสาว” ของแพลตฟอร์มการจัดการแอปพลิเคชัน ControlTier Rundeck แยกตัวออกจากบริษัทในปี 2010 และได้รับฟังก์ชันใหม่ เช่น การผสานรวมกับ Puppet, Chef, Git และ Jenkins

มีการใช้ระบบใน บริษัท วอลท์ดิสนีย์, Salesforce и ทิ. แต่โครงการนี้ก็เหมาะกับสตาร์ทอัพเช่นกัน เนื่องจาก Rundeck ได้รับอนุญาตภายใต้ใบอนุญาต Apache v2.0 นอกจากนี้เครื่องมือนี้ค่อนข้างใช้งานง่าย

ชาว Reddit ที่ทำงานร่วมกับ Rundeck พูดว่าซึ่งแก้ไขปัญหาส่วนใหญ่ได้ด้วยตัวเอง พวกเขาช่วยเขาในเรื่องนี้ เอกสารและ e-booksเผยแพร่โดยนักพัฒนา

คุณสามารถดูคำแนะนำโดยย่อในการตั้งค่าเครื่องมือทางออนไลน์ได้:

โกซีดี

เปิดเครื่องมือ (GitHub) การควบคุมเวอร์ชันโค้ดอัตโนมัติ เปิดตัวในปี 2007 โดยบริษัท คิดเวิร์คส์ — จากนั้นโปรเจ็กต์นี้จึงถูกเรียกว่า ครูซ

GoCD ถูกใช้โดยวิศวกรจากเว็บไซต์ขายรถยนต์ออนไลน์ AutoTrader บริการลำดับวงศ์ตระกูล Ancestry และผู้ให้บริการบัตรเครดิต Barclaycard อย่างไรก็ตาม หนึ่งในสี่ของผู้ใช้เครื่องมือ ถือเป็นธุรกิจขนาดเล็ก.

ความนิยมของบริการในหมู่สตาร์ทอัพสามารถอธิบายได้ด้วยการเปิดกว้าง - เผยแพร่ภายใต้ลิขสิทธิ์ Apache v2.0 ขณะเดียวกัน GoCD มี ปลั๊กอินสำหรับการทำงานร่วมกับซอฟต์แวร์บุคคลที่สาม - ระบบการอนุญาตและโซลูชันคลาวด์ ระบบทรู ค่อนข้างซับซ้อน ในการเรียนรู้ - มีผู้ปฏิบัติงานและทีมจำนวนมาก นอกจากนี้ผู้ใช้บางคนบ่นเกี่ยวกับอินเทอร์เฟซที่ไม่ดีและ ความต้องการ กำหนดค่าตัวแทนสำหรับการปรับขนาด

CICD สำหรับสตาร์ทอัพ: มีเครื่องมืออะไรบ้าง และเหตุใดจึงไม่ใช่แค่บริษัทขนาดใหญ่และมีชื่อเสียงเท่านั้นที่ใช้มัน
ภาพถ่าย — แมตต์ ไวลด์บอร์ — อันสแปลช

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

เจนกิ้นส์

เจนกินส์เป็นที่รู้จักอย่างกว้างขวางและ การพิจารณา มาตรฐานชนิดหนึ่งในสาขา CICD แน่นอนว่าหากไม่มีการเลือกนี้ก็จะไม่สมบูรณ์ทั้งหมด เครื่องมือนี้ปรากฏในปี 2011 กลายเป็น ทางแยกของ Project Hudson จาก Oracle

วันนี้กับเจนกินส์ работают ที่ NASA, Nintendo และองค์กรขนาดใหญ่อื่นๆ อย่างไรก็ตาม มากกว่า 8% บัญชีผู้ใช้สำหรับทีมขนาดเล็กที่มีมากถึงสิบคน ผลิตภัณฑ์นี้ฟรีและแจกจ่ายโดยสมบูรณ์ ภายใต้ใบอนุญาต MIT. อย่างไรก็ตาม คุณจะต้องโฮสต์และกำหนดค่า Jenkins ด้วยตัวเอง ซึ่งต้องใช้เซิร์ฟเวอร์เฉพาะ

ตลอดการดำรงอยู่ของเครื่องดนตรีนี้ ชุมชนขนาดใหญ่ได้ก่อตัวขึ้นรอบๆ มัน ผู้ใช้สื่อสารอย่างแข็งขันในกระทู้บน Reddit и กลุ่ม Google. เนื้อหาเกี่ยวกับ Jenkins ยังปรากฏเป็นประจำในHabré หากคุณต้องการเป็นส่วนหนึ่งของชุมชนและเริ่มร่วมงานกับเจนกินส์ นั่นก็คือ เอกสารอย่างเป็นทางการ и คู่มือนักพัฒนาซอฟต์แวร์. นอกจากนี้เรายังแนะนำคำแนะนำและหนังสือต่อไปนี้:

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

บิลด์บอท

นี่คือระบบบูรณาการอย่างต่อเนื่องสำหรับการสร้างและทดสอบวงจรแอปพลิเคชันโดยอัตโนมัติ มันจะตรวจสอบการทำงานของโค้ดโดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลง

ผู้เขียนเครื่องมือนี้คือวิศวกร Brian Warner วันนี้เขาปฏิบัติหน้าที่ เปลี่ยน กลุ่มความคิดริเริ่มของคณะกรรมการกำกับดูแล Buildbot ซึ่งประกอบด้วยนักพัฒนา XNUMX คน

บิลด์บอท เคย โครงการต่างๆ เช่น LLVM, MariaDB, Blender และ Dr.Web แต่ยังใช้ในโครงการขนาดเล็กเช่น wxWidgets และ Flathub อีกด้วย ระบบรองรับ VCS สมัยใหม่ทั้งหมดและมีการตั้งค่าบิลด์ที่ยืดหยุ่นโดยใช้ Python เพื่ออธิบาย มันจะช่วยให้คุณจัดการกับพวกเขาทั้งหมด เอกสารอย่างเป็นทางการ และบทช่วยสอนของบุคคลที่สาม นี่เป็นบทเรียนสั้นๆ คู่มือไอบีเอ็ม.

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

สิ่งที่เราเขียนเกี่ยวกับในบล็อกของบริษัท:

ที่มา: will.com

เพิ่มความคิดเห็น