Những TCTD nào có thể xây dựng các thư viện được viết trong các dự án C ++ / VBA và .NET (C #)?


9

Tôi làm việc trong bộ phận CNTT của công ty tự động hóa / nhà phát triển và chúng tôi sắp triển khai / thêm CI vào bộ công cụ của mình. Và chúng tôi đang gặp khó khăn để chọn một.

Hiện tại chúng tôi đã suy nghĩ về các hệ thống này:

  • Jenkins
  • CircleCI
  • TravisCI

Câu hỏi: Các thuộc tính chính của phần mềm CI mà các hệ thống nên có và dựa vào đó chúng ta nên so sánh chúng với nhau là gì?


EDIT: Chúng tôi đang mong đợi từ CI những điều tiêu chuẩn: Từ việc xây dựng các ứng dụng, chạy thử nghiệm (Đơn vị / Tích hợp / Hiệu suất / ..), lưu số liệu thống kê và cung cấp thông tin qua email / trên trang (báo cáo).

Vấn đề là chúng ta không biết nếu có nhiều chức năng hơn và nếu đó là gì? Đây là những gì tôi sẽ tìm kiếm dưới các từ "thuộc tính quan trọng" . Các tên ở trên chỉ để tham khảo, tôi đang tìm câu trả lời "tại sao sử dụng cái này hay cái kia" đơn giản hóa quá mức "lại sử dụng cái này hay cái kia" .

Chúng tôi đang phát triển trong môi trường .NET (C #) với một số thư viện được viết bằng C ++ / VBA.


3
Nó sẽ giúp nếu bạn có thể giải thích những gì bạn đang tìm kiếm trong công cụ CI của bạn. Yêu cầu của bạn là gì, nhu cầu của bạn là gì? Ví dụ: ngôn ngữ nào bạn sẽ xây dựng các tạo tác từ? Bạn có thích mô hình SaaS hay bạn thích lưu trữ CI của riêng mình? Có những công cụ CI khác ngoài kia, tại sao bạn lại đóng nó xuống ba công cụ này? Cung cấp cho chúng tôi thêm thông tin sẽ cho phép câu trả lời phù hợp hơn với nhu cầu của bạn, nếu không, bạn sẽ nhận được câu trả lời chung chung mà bạn đã có thể Google: hackernoon.com/ Kẻ
Alexandre

1
Hãy nhìn xem, câu hỏi của bạn rất rộng vì bạn chưa thử những công cụ này. Bạn có thể dễ dàng cài đặt chúng trong một thùng chứa với một vài lệnh và thử chúng. Nếu bạn gần như không có kinh nghiệm, bạn có thể chọn ngẫu nhiên khá nhiều, lấy kinh nghiệm với một công cụ và sau đó nếu nó ngừng hoạt động cho bạn, bạn có thể đến và hỏi câu hỏi cụ thể hơn về những tính năng bạn cần và công cụ nào có thể có hoặc công cụ nào plugin bạn cần cho công cụ hiện tại của bạn để có được tính năng đó.
Jiri Klouda

2
Với bản chỉnh sửa, bây giờ tôi sẽ đóng nó thành bản sao của câu hỏi này: stackoverflow.com/questions/1438390/comparison-of-ci-servers
Jiri Klouda

1
Vấn đề với câu hỏi yêu cầu các thuộc tính chính trong phần mềm Tích hợp liên tục là bạn sẽ nhận được câu trả lời giống như với việc chọn hầu hết mọi công cụ khác. Ví dụ, câu trả lời của avi có thể được áp dụng tốt cho công cụ đánh giá mã hoặc hệ thống kiểm soát phiên bản hoặc wiki hoặc khá nhiều thứ.
Jiri Klouda

1
liên kết tốt cho jenkins Vs teamcity, điều này sẽ giúp loại bỏ công cụ CI nào được sử dụng cho Linkedin.com/pulse/jenkins-vs-teamcity-amir-najjar
Ashish Karpe

Câu trả lời:


12

Nhìn chung, có năm điểm khác biệt chính giữa các giải pháp phần mềm CI khác nhau.

  1. Chi phí : Phần mềm là nguồn mở và miễn phí hay độc quyền? Nhóm DevOps của bạn đã có ngân sách cho phần mềm hay bạn dự kiến ​​sẽ so sánh các tùy chọn miễn phí?

  2. Bảo trì : Phần mềm có phải là thứ bạn cần tự lưu trữ và bảo trì hay phần mềm được cung cấp dưới dạng dịch vụ không? Nếu bạn cần tự lưu trữ nó, bạn có sẵn các thành viên trong nhóm để có thể chạy bảo trì không? Nếu nó đang được cung cấp như một dịch vụ, mã của bạn nằm ở đâu?

  3. Bảo mật : Có bất kỳ mối quan tâm bảo mật hoặc tuân thủ nào về nơi các máy xây dựng được lưu trữ không? Các quyền được yêu cầu bởi phần mềm CI vào SCM của bạn có được hiểu rõ không?

  4. Cộng đồng : Phần mềm CI có một cộng đồng tốt xung quanh nó với các plugin và hỗ trợ cho các công nghệ bạn sử dụng không? Có dễ dàng để nhận được hỗ trợ hoặc khắc phục sự cố khi có sự cố không?

  5. UX : Phần mềm dễ sử dụng như thế nào? Phần mềm CI có hỗ trợ các tập lệnh được lưu trong SCM của bạn cho các tác vụ bạn cần thực hiện không? Là báo cáo dễ hiểu hoặc nó sẽ yêu cầu một số đào tạo?


Danh sách của bạn bỏ lỡ điểm rằng các dịch vụ được quản lý có thể có các hạn chế hoặc lỗi không có giấy tờ tùy ý có thể khó hoặc không thể phá vỡ. Theo kinh nghiệm của tôi, vòng tròn CI và Jenkins có loại hạn chế này có thể phủ nhận hoàn toàn lợi ích của dịch vụ được quản lý.
Michael Le Barbier Grünewald

Danh sách rất tốt. Tôi cũng sẽ thêm Khả năng mở rộng / Plugin. Mặc dù bạn ngầm đề cập đến nó trong cộng đồng, tôi sẽ nói rằng chúng có thể là độc quyền vì một số công cụ cung cấp bổ trợ riêng trong khi chúng có thể có một cộng đồng hỗ trợ mạnh mẽ.
gumol

6

Các hệ thống SCM bạn sử dụng có thể cần thiết trong việc đưa ra sự lựa chọn CI của bạn.

Ví dụ, sử dụng giải pháp riêng tư / mạng nội bộ, khá nhiều loại trừ CircleCITravisCIvì chúng chỉ hỗ trợ dựa trên đám mây GitHubvà / hoặc Bitbucket.

JenkinsCó các plugin hỗ trợ nhiều hệ thống SCM ngoài kia, xem Jenkins hỗ trợ công cụ SCM nào? . Nhưng sử dụng một hệ thống SCM ít phổ biến hoặc được bao bọc / tùy chỉnh có thể yêu cầu phát triển một plugin mới.

Ngoài ra, đặc biệt của tòa nhà / khung thử nghiệm / cơ sở hạ tầng của bạn có thể có vấn đề, vì những lý do tương tự (cấu hình, vị trí / phương thức truy cập và khả năng tương thích / hỗ trợ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.