Trong một thế giới lý tưởng, các nhân viên ít hiểu biết về công nghệ của chúng tôi chỉ có thể sử dụng lệnh Slack để điều hành công việc và lấy lại kết quả cho họ, phủ nhận việc sử dụng GUI Jenkins. Tôi đã tìm thấy Bắt đầu xây dựng trong Jenkins bằng cách sử dụng Lệnh Slack trên GitHub, nhưng nó có một vài hạn chế bao gồm việc nó dường như yêu cầu một ví dụ Heroku tỷ lệ 1: 1 cho công việc của Jenkins, không phù hợp với mục đích của chúng tôi.
Tôi nghĩ rằng mọi người sẽ sử dụng một lệnh đơn lẻ như thế nào /jenkins
, và sử dụng các tham số sau nó sẽ được phân tích cú pháp bởi một công việc và được sử dụng để khởi động những người khác ở hạ lưu. Điều đó giữ cho chúng ta một lệnh chùng / một thể hiện, nhưng vẫn cung cấp cho chúng ta tất cả sự linh hoạt mà chúng ta cần.
Vấn đề rơi vào việc lấy các tham số cho Jenkins. Tôi đang hình dung một cái gì đó giống như quy trình làm việc sau đây;
Kiểu người dùng
/Jenkins job2 param1 param2
trong Slack. Đây là gọi một công việc ô sẽ phân tích các tham số để tìm ra những gì để chạy.Lệnh bằng cách nào đó được gửi đến công việc ô jenkins. Ví dụ Heroku, tích hợp trực tiếp, w / e.
Công việc ô nhận được
job2 param1 param2
như một chuỗi. (Có lẽ là giá trị của một tham số, có thể được chia trước thành nhiều trường)Công việc ô chia tách chuỗi nếu nó chưa được thực hiện và chỉ ra rằng người dùng muốn
job2
chạy, sử dụng tham sốparam1
vàparam2
.Công việc ô dù thực hiện một công việc xây dựng để chạy công việc xuôi dòng như đã gọi, điều này sẽ làm chậm lại kết quả của người dùng.
Đó là bước 2-3 đang làm tôi vấp ngã. Làm cách nào tôi có thể chuyển một chuỗi (có dấu cách!) Từ Slack sang công việc Jenkins của tôi?
Nếu toàn bộ tiền đề của tôi là sai, tôi cũng sẵn sàng để thử thách khung hình của mình.