Tôi nên sử dụng plugin nào để bắt đầu với Jenkins để quản lý các thành phần máy tính lớn ở định dạng PDS?


13

Giả sử ai đó quen thuộc với DevOps và máy tính lớn, nhưng mới biết về Jenkins , muốn bắt đầu với Jenkins, ví dụ:

Sau khi một số loại (tối thiểu) cài đặtcấu hình Jenkins hoàn tất, câu hỏi thực sự trở thành " Which of the typical Jenkins plugins, if any, would be needed?". Từ các plugin Jenkins khác nhau có vẻ có ý nghĩa trong trường hợp của tôi, có vẻ như đây là những ứng cử viên có thể (trích dẫn từ các trang được liên kết):

  • Đầu nối zOS của IBM .

    ... cung cấp các chức năng của nó thông qua kết nối FTP tới IBM z / OS LPAR. Bạn có thể định cấu hình dự án SCLM của mình trên z / OS và sau đó kiểm tra các thay đổi thông qua Jenkins.

    Các tính năng bao gồm:

    • Đệ trình công việc JCL của người dùng (với nhật ký tùy chọn được thu thập sau khi kết thúc).
    • Giới thiệu SCLM dưới dạng SCM cho các dự án của bạn cho phép kiểm tra các thay đổi SCLM.
    • Khả năng xây dựng các dự án SCLM hiện chỉ có thể được thực hiện thông qua hành động xây dựng 'Gửi công việc zOS'.
  • Tải xuống mã nguồn Compuware cho Endevor, PDS và ISPW Plugin .

    ... Cho phép người dùng Jenkins tải xuống các thành viên Endevor, PDS hoặc ISPW từ máy tính lớn vào PC. Nguồn sau đó có thể được truy cập trên PC, ví dụ, để phân tích và báo cáo SonarQube.

Vì plugin thứ 1 nói về SCLM (tất cả là về PDSes) và plugin thứ 2 nói rõ ràng hỗ trợ cho PDSes (trong tên của nó), tôi tin rằng cả hai đều là ứng cử viên có thể.

Vì vậy, giả sử danh sách rút gọn của tôi đã hoàn thành (phải không?), Những ưu và nhược điểm của một trong hai sẽ giúp tôi quyết định cái nào là tốt nhất cho trường hợp của tôi?

Ps: Một cái gì đó giống như gói "Jenkins Kickstart" dường như không tồn tại (ít nhất là tôi chưa tìm thấy nó).


1
Bằng cách tìm kiếm, rất nhiều tìm kiếm, và có thể hỏi ở đây khi có một cạm bẫy về một chủ đề cụ thể. Mặc dù việc xây dựng một nguồn Q / A là tuyệt vời, nhưng điều đó thực sự quá rộng.
Tensibai

1
Câu hỏi sẽ dễ trả lời hơn nếu bạn muốn phác thảo một vấn đề bạn muốn giải quyết với Jenkins. Cố gắng giải quyết một vấn đề cụ thể cũng là một khởi đầu tốt để tìm hiểu một công cụ mới!
Michael Le Barbier Grünewald

1
@ Pierre.Vriens Có vẻ tốt hơn nhiều bây giờ; cảm ơn đã chỉnh sửa. Tôi đã bỏ phiếu để mở lại.
Aurora0001 ngày

1
Sau réflexion, đừng cố khái quát quá nhiều câu hỏi của bạn, mô tả vấn đề bạn đang gặp phải và nơi bạn đang đối mặt với một bức tường, tôi nghĩ đó là cách tốt nhất.
Tensibai

1
@Tensibai merci cho tất cả các ý kiến ​​(cố gắng giúp đỡ) ... Có "một chút" khắc nghiệt, nhưng đừng quá lo lắng về điều đó (tôi có thể xử lý điều đó). Ngoài ra: chờ đợi một nỗ lực mới để cải thiện (thu hẹp) câu hỏi của tôi.
Pierre.Vriens

Câu trả lời:


2

Tôi thiết lập jenkins để quản lý các bảng máy tính lớn. Về cơ bản sử dụng plugin Groovy script. Tôi đã viết mã xử lý chuyển động của các tệp trên máy tính lớn và gọi chúng qua plugin. Về cơ bản tận dụng API của máy tính lớn để kết nối và các lệnh của vsc để di chuyển các tệp.


2

Jenkins nô lệ chạy trong các dịch vụ hệ thống unix của z / OS và có thể chạy bất kỳ tập lệnh hoặc chức năng nào từ đó. Chúng tôi sử dụng plugin Git để kéo mã nguồn lên z / OS, sau đó bạn có các lựa chọn khác nhau về cách làm việc với nó. Bạn có thể sử dụng IBM Dependency Dựa Build, được Groovy chuyển sang z / OS cộng với một số tiện ích mở rộng để hoạt động cụ thể với các chức năng z / OS gốc như sao chép vào PDS (hoặc PDSE) hoặc sao chép trở lại zFS, cũng như khả năng chạy MVS , Lệnh TSO, ISPF và gửi JCL.

Ngoài ra với thông báo Zowe mới Zowe.org cho một dự án nguồn mở mới trên z / OS, bạn cũng có quyền truy cập vào một số API dựa trên REST hoạt động với các tệp và thực hiện các tác vụ khác trên z / OS, như gọi zOSMF.


Tôi dự định làm điều này: lưu trữ tất cả các tệp máy tính lớn trong GitHub và cài đặt nô lệ Jenkins trong USS trong z / OS. Trong một yêu cầu cam kết hoặc kéo, webhook trong GitHub sẽ khởi động một công việc Jenkins sẽ tải tệp từ GitHub và gửi tới z / OS để biên dịch và liên kết (chúng tôi có các tập lệnh perl để thực hiện việc này ngay bây giờ). Bạn nghĩ sao?
Jirong Hu

1

Nói chung, có hai cách để tự động hóa các hành động từ Jenkins:

  1. Cài đặt plugin cho Jenkins và sử dụng nó theo các bước để tự động hóa các tác vụ.
  2. Viết một kịch bản (shell, python, other) và gọi nó từ một bước để tự động hóa các tác vụ.

Có những hạn chế / lợi ích cho cả hai phương pháp. Mặc dù # 1 - cách tiếp cận plugin - cung cấp cho bạn chức năng của hộp và không yêu cầu bạn phải viết kịch bản, nhưng nó có thể cứng nhắc và hạn chế trong khả năng của nó. # 2 - cách tiếp cận kịch bản - yêu cầu bạn viết kịch bản, cũng như duy trì chúng, nhưng có thể cung cấp sự linh hoạt và tự do hơn nhiều trong việc tự động hóa mọi thứ.

Cách tiếp cận kịch bản thường sử dụng rất nhiều CLI - aws cli, docker cli, v.v.

Nếu # 2 - cách tiếp cận tập lệnh - khả thi và bạn cảm thấy thoải mái với việc viết tập lệnh shell hoặc tập lệnh khác như python để tương tác với máy tính lớn, thì Brightside có thể giúp đỡ.

Đây là một ví dụ về việc sử dụng Brightside (CLI miễn phí) để tương tác với PDS trên z / OS từ tập lệnh shell:

    #!/bin/sh
    echo 'bright files create classic "USER.PUBLIC.SAMPLE.PDS"'
    bright files create classic "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files download all-members "USER.LIB.SAMP" -d MyPDS'
    bright files download all-members "USER.LIB.SAMP" -d MyPDS
    echo ''

    echo 'bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"'
    bright files upload dir-to-pds MyPDS "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS(ALLOCLIB)" -f
    echo ''

    echo 'bright files list all-members "USER.PUBLIC.SAMPLE.PDS"'
    bright files list all-members "USER.PUBLIC.SAMPLE.PDS"
    echo ''

    echo 'bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f'
    bright files delete data-set "USER.PUBLIC.SAMPLE.PDS" -f
    echo ''

Đây là đầu ra từ tập lệnh đó:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Đủ dễ dàng để gọi các kịch bản này từ Jenkins và phân tích đầu ra cho bất kỳ mục đích nào.

Tiết lộ đầy đủ: Tôi làm việc cho CA, người đã tạo ra Brightside nhưng chúng tôi sử dụng CLI này trong nội bộ cho mục đích chính xác là tích hợp thử nghiệm ứng dụng máy tính lớn của chúng tôi với Jenkins.


Bạn đã sử dụng nó?
gà con

Tôi không biết làm thế nào điều này có thể trả lời câu hỏi thậm chí từ xa, vui lòng chỉnh sửa câu trả lời của bạn để giải thích làm thế nào nó có thể trả lời câu hỏi hoặc tôi sẽ xóa nó trong 24h
Tensibai

Chắc chắn, tôi sẽ thêm chi tiết vào bài viết của tôi.
Sujay Solomon

Một điều nữa, xin vui lòng tiết lộ liên kết của bạn với công ty bạn đang quảng bá. Xem đoạn tự quảng cáo trong trang hành vi của chúng tôi . Điều này nghe có vẻ như là một nỗ lực trung thực để trả lời, tôi cảm thấy bỏ lỡ việc sử dụng một plugin được tích hợp trong jenkins để sử dụng đường ống, nhưng ít nhất nó không giống như 'chỉ quảng cáo sản phẩm' nữa.
Tensibai

TL; DR: trả lời với một sản phẩm bạn sở hữu / tạo ra là ổn khi bạn tiết lộ liên kết của mình với sản phẩm và giải thích cách nó có thể giải quyết vấn đề.
Tensibai

1

@ Pierre.Vriens, hãy hỏi bạn về điều tra tính khả thi của việc quản lý dữ liệu được lưu trữ trong các tệp cá nhân (PDSes, tức là các bộ dữ liệu được phân vùng) trên máy tính lớn. hệ điều hành để truy cập API cho điều đó. Trong câu trả lời của Sujay, anh đề nghị sử dụng Brightside và công cụ đó khai thác các API zOSMF để đơn giản hóa nhiệm vụ đó. Vì vậy, nếu bạn muốn liên kết Jenkins với Mainframe để quản lý Tập dữ liệu được phân vùng (PDS) và Tập dữ liệu (PS), bạn có thể sử dụng các API zOSMF này hoặc bạn có thể sử dụng Brightside .

Theo tinh thần tiết lộ, tôi làm việc với tư cách là Nhà thiết kế UX cho CA Technologies, người xây dựng Brightside.

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.