CICD dành cho người khởi nghiệp: có những công cụ nào và tại sao không chỉ các công ty lớn và nổi tiếng mới sử dụng chúng

Các nhà phát triển công cụ CICD thường liệt kê các công ty lớn là khách hàng - Microsoft, Oculus, Red Hat, thậm chí cả Ferrari và NASA. Có vẻ như những thương hiệu như vậy chỉ hoạt động với những hệ thống đắt tiền mà một công ty khởi nghiệp bao gồm một vài nhà phát triển và một nhà thiết kế không thể mua được. Tuy nhiên, một phần đáng kể của các công cụ này lại có sẵn cho các nhóm nhỏ.

Chúng tôi sẽ cho bạn biết những gì bạn có thể chú ý dưới đây.

CICD dành cho người khởi nghiệp: có những công cụ nào và tại sao không chỉ các công ty lớn và nổi tiếng mới sử dụng chúng
Фото - Csaba Balazs - Bỏ qua

Trình kiểm duyệt PHP

Một máy chủ CI mã nguồn mở giúp dễ dàng xây dựng các dự án bằng PHP. Đây là một nhánh của dự án PHPCI. Bản thân PHPCI vẫn đang phát triển nhưng không còn tích cực như trước.

Bộ kiểm duyệt PHP có thể hoạt động với GitHub, GitLab, Mercurial và một số kho lưu trữ khác. Để kiểm tra mã, công cụ sử dụng các thư viện Atom, PHP Spec, Behat, Codeception. Đây tập tin ví dụ cấu hình cho trường hợp đầu tiên:

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

Được coi làBộ kiểm duyệt PHP đó rất phù hợp để triển khai các dự án nhỏ, nhưng bạn sẽ phải tự lưu trữ và định cấu hình nó (tự lưu trữ). Nhiệm vụ này được đơn giản hóa bằng tài liệu khá chi tiết - nó ở trên GitHub.

Rex

Rex là viết tắt của Thực thi từ xa. Hệ thống được kỹ sư Ferenc Erki phát triển để tự động hóa các quy trình trong trung tâm dữ liệu. Rex dựa trên các tập lệnh Perl, nhưng không cần thiết phải biết ngôn ngữ này để tương tác với công cụ - hầu hết các thao tác (ví dụ: sao chép tệp) đều được mô tả trong thư viện hàm và các tập lệnh thường nằm gọn trong mười dòng. Đây là một ví dụ về việc đăng nhập vào nhiều máy chủ và chạy thời gian hoạt động:

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;
};

Chúng tôi khuyên bạn nên bắt đầu làm quen với công cụ này bằng hướng dẫn chính thức и sách điện tử, hiện đang được hoàn thiện.

Dịch vụ xây dựng mở (OBS)

Đây là một nền tảng để tối ưu hóa sự phát triển của các bản phân phối. Mã của nó được mở và nằm trong kho lưu trữ tại GitHub. Tác giả của công cụ này là công ty Novell. Cô đã tham gia phát triển bản phân phối SuSE và dự án này ban đầu được gọi là openSUSE Build Service. Không có gì ngạc nhiên khi Dịch vụ xây dựng mở sử dụng để xây dựng các dự án trong openSUSE, Tizen và VideoLAN. Dell, SGI và Intel cũng hoạt động với công cụ này. Nhưng trong số những người dùng thường xuyên cũng có những công ty khởi nghiệp nhỏ. Đặc biệt đối với họ, các tác giả đã thu thập (trang 10) được cấu hình sẵn gói phần mềm. Bản thân hệ thống này hoàn toàn miễn phí - bạn chỉ phải trả tiền cho việc lưu trữ hoặc máy chủ phần cứng để triển khai nó.

Nhưng trong suốt quá trình tồn tại của mình, công cụ này chưa bao giờ có được một cộng đồng rộng rãi. Mặc dù anh ấy đã một phần của Mạng lưới nhà phát triển Linux, chịu trách nhiệm chuẩn hóa hệ điều hành mở. Nó có thể khó Tìm câu trả lời cho câu hỏi của bạn trên các diễn đàn chuyên đề. Nhưng một trong những cư dân Quora lưu ý rằng trong trò chuyện IRC Trên Freenode, các thành viên cộng đồng phản hồi khá dễ dàng. Vấn đề của một cộng đồng nhỏ không mang tính toàn cầu, vì giải pháp cho nhiều vấn đề đã được mô tả. trong tài liệu chính thức (PDF và EPUB). Như trên. có thể tìm thấy các phương pháp hay nhất để làm việc với OBS (có ví dụ và trường hợp).

boong tàu

Mở công cụ (GitHub), tự động hóa các tác vụ trong trung tâm dữ liệu và đám mây bằng cách sử dụng tập lệnh. Một máy chủ tập lệnh đặc biệt chịu trách nhiệm thực thi chúng. Có thể nói Rundeck là “con gái” của nền tảng quản lý ứng dụng ControlTier. Rundeck tách khỏi nó vào năm 2010 và có được chức năng mới - ví dụ: tích hợp với Puppet, Chef, Git và Jenkins.

Hệ thống được sử dụng trong Công ty Walt Disney, Salesforce и Ticketmaster. Nhưng dự án cũng phù hợp cho các công ty khởi nghiệp. Điều này là do Rundeck được cấp phép theo giấy phép Apache v2.0. Hơn nữa, công cụ này khá dễ sử dụng.

Một cư dân Reddit từng làm việc với Rundeck, nói, điều này đã tự mình giải quyết được hầu hết những khó khăn. Họ đã giúp anh ấy việc này tài liệu và sách điện tử, được xuất bản bởi các nhà phát triển.

Bạn cũng có thể tìm thấy hướng dẫn ngắn gọn để thiết lập công cụ trực tuyến:

GoCD

Mở công cụ (GitHub) tự động hóa việc kiểm soát phiên bản mã. Nó được giới thiệu vào năm 2007 bởi công ty Thought - lúc đó dự án được gọi là Cruise.

GoCD được sử dụng bởi các kỹ sư từ trang bán xe trực tuyến AutoTrader, dịch vụ phả hệ Ancestry và nhà cung cấp thẻ tín dụng Barclaycard. Tuy nhiên, một phần tư số người sử dụng công cụ tạo thành một doanh nghiệp nhỏ.

Sự phổ biến của dịch vụ trong số các công ty khởi nghiệp có thể được giải thích bởi tính mở của nó - nó được phân phối theo giấy phép Apache v2.0. Đồng thời, GoCD plugin để tích hợp với phần mềm của bên thứ ba - hệ thống ủy quyền và giải pháp đám mây. Hệ thống đích thực khá phức tạp trong việc làm chủ - nó có một số lượng lớn người vận hành và đội. Ngoài ra, một số người dùng phàn nàn về giao diện kém và nhu cầu cấu hình các tác nhân để mở rộng quy mô.

CICD dành cho người khởi nghiệp: có những công cụ nào và tại sao không chỉ các công ty lớn và nổi tiếng mới sử dụng chúng
Фото - Matt Lợn Rừng - Bỏ qua

Nếu bạn muốn dùng thử GoCD trong thực tế, bạn có thể tìm thấy trên trang web của dự án tài liệu chính thức. Nó cũng có thể được đề xuất như một nguồn thông tin bổ sung Blog nhà phát triển GoCD với hướng dẫn sử dụng bằng cách thiết lập.

Jenkins

Jenkins được biết đến rộng rãi và coi một loại tiêu chuẩn trong lĩnh vực CICD - tất nhiên, nếu không có nó thì việc lựa chọn này sẽ không hoàn toàn đầy đủ. Công cụ này xuất hiện vào năm 2011, ao một nhánh của Dự án Hudson từ Oracle.

Hôm nay với Jenkins trò chơi điện tử tại NASA, Nintendo và các tổ chức lớn khác. Tuy nhiên hơn 8% tài khoản người dùng cho các nhóm nhỏ lên đến mười người. Sản phẩm hoàn toàn miễn phí và được phân phối theo giấy phép MIT. Tuy nhiên, bạn sẽ phải tự mình lưu trữ và định cấu hình Jenkins - nó yêu cầu một máy chủ chuyên dụng.

Trong suốt thời gian tồn tại của nhạc cụ, một cộng đồng lớn đã hình thành xung quanh nó. Người dùng tích cực giao tiếp trong các chủ đề trên Reddit и Google Groups. Tài liệu về Jenkins cũng xuất hiện thường xuyên trên Habré. Nếu bạn muốn trở thành một phần của cộng đồng và bắt đầu làm việc với Jenkins, có tài liệu chính thức и hướng dẫn dành cho nhà phát triển. Chúng tôi cũng đề xuất các hướng dẫn và sách sau:

Jenkins có một số dự án phụ hữu ích. Cái đầu tiên là một plugin Cấu hình dưới dạng mã. Nó giúp việc thiết lập Jenkins trở nên dễ dàng với các API dễ đọc mà ngay cả quản trị viên không có kiến ​​thức sâu về công cụ cũng có thể hiểu được. Thứ hai là hệ thống Jenkins X cho đám mây. Nó tăng tốc việc phân phối các ứng dụng được triển khai trên cơ sở hạ tầng CNTT quy mô lớn bằng cách tự động hóa một số tác vụ thông thường.

Buildbot

Đây là một hệ thống tích hợp liên tục để tự động hóa chu trình xây dựng và thử nghiệm các ứng dụng. Nó tự động kiểm tra chức năng của mã mỗi khi có bất kỳ thay đổi nào được thực hiện đối với nó.

Tác giả của công cụ này là kỹ sư Brian Warner. Hôm nay anh ấy trực đã thay đổi nhóm sáng kiến ​​Ủy ban Giám sát Buildbot, bao gồm sáu nhà phát triển.

Buildbot được sử dụng các dự án như LLVM, MariaDB, Blender và Dr.Web. Nhưng nó cũng được sử dụng trong các dự án nhỏ hơn như wxWidgets và Flathub. Hệ thống hỗ trợ tất cả các VCS hiện đại và có cài đặt xây dựng linh hoạt bằng cách sử dụng Python để mô tả chúng. Nó sẽ giúp bạn giải quyết tất cả. tài liệu chính thức và hướng dẫn của bên thứ ba, ví dụ: đây là một hướng dẫn ngắn hướng dẫn sử dụng IBM.

Tất nhiên, đó chưa phải là tất cả Các công cụ DevOps mà các tổ chức nhỏ và các công ty khởi nghiệp nên chú ý. Hãy đưa ra các công cụ yêu thích của bạn trong phần nhận xét và chúng tôi sẽ cố gắng nói về chúng bằng một trong những tài liệu sau.

Những gì chúng tôi viết trong blog của công ty:

Nguồn: www.habr.com

Thêm một lời nhận xét