2017-11-09 23 views
6

Tôi có một sau đây định nghĩa Jenkins công việc:Jenkins builder việc gitlab kích hoạt được bỏ qua

- scm: 
    name: some-project 
    scm: 
    - git: 
     url: [email protected]****/some-project.git 
     credentials-id: some-ssh-username-with-private-key 
     branches: 
     - origin/master 
- project: 
    name: some-project 
    jobs: 
     - '{name}': 
     triggers: 
      gitlab: 
      trigger-push: true 
      trigger-merge-request: false 
      trigger-open-merge-request-push: never 

Bây giờ công việc này có thể được tải lên Jenkins mà không có lỗi nhưng nếu tôi đi đến Configure trang của some-project trong Jenkins Web UI, tôi có thể thấy rằng Build when a change is pushed to GitLab trong mục Kích hoạt phần không được bật. GitLab repo được cấu hình đúng - Quản lý mã nguồn phần của công việc này có [email protected]****/some-project.git với some-ssh-username-with-private-key thông tin xác thực và chi nhánh origin/master được định cấu hình. Nhưng mà không làm việc gây nên điều này là vô ích.

Tôi đang làm gì sai?

Xin lưu ý rằng tôi không hỏi cách định cấu hình GitLab WebHooks để kích hoạt công việc Jenkins. Tôi có thể làm điều này bằng tay và nó hoạt động tốt. Nhưng chúng tôi muốn quản lý công việc Jenkins của chúng tôi bằng công cụ xây dựng Jenkins Job để tránh quá trình cấu hình dễ dàng thông qua Web UI và theo dõi các thay đổi trong cấu hình công việc - chúng tôi đang tạo kho git với định nghĩa công việc Jenkins.

Trả lời

4

Tôi nghi ngờ bạn có thể cần phải tự đặt triggers vào số job, thay vì dưới /project/jobs.

Với trình kích hoạt bên dưới phím project, tôi gặp phải cùng một triệu chứng bạn làm. Không có trình kích hoạt nào của tôi được tạo trong Jenkins. Di chuyển phần triggers vào một số job khắc phục sự cố cho tôi.

yaml này sẽ xây dựng một công việc Jenkins gọi builder-test với "Xây dựng khi có thay đổi được đẩy lên GitLab" hộp kiểm tra:

- scm: 
    name: gitlab 
    scm: 
     - git: 
      url: https://gitlab.com/user/repo-name.git 
      branches: 
      - origin/master 
- job: 
    name: builder-test 
    project-type: freestyle 
    description: "builder-test desc" 
    scm: 
     - gitlab    
    triggers: 
     - gitlab: 
      trigger-push: true 
- project: 
    name: builder-test-project 
    jobs: 
     - 'builder-test' 

Thử nghiệm trên Jenkins 2.32.3 sử dụng GitLab Plugin 1.5.1 và JJB 1.6 .2

3

Trong câu hỏi của bạn, bạn đã nói rằng tùy chọn Build when a change is pushed to GitLab là "không được bật". Trên trang cấu hình, Jenkins sẽ vô hiệu hóa các tùy chọn trong danh sách thả xuống khi các tùy chọn đó đã được chọn (tức là đang được sử dụng) trong cấu hình công việc hiện tại.

Tùy chọn trigger-push: true có thể là điều đang thúc đẩy điều này trong trường hợp của bạn.

Bạn có nói rằng công việc của bạn không thực sự được xây dựng khi thay đổi được đẩy vào kho lưu trữ GitLab?

Sau khi làm rõ của bạn:

Có một ví dụ đầy đủ here cho các phiên bản 1.1.26 và sau đó.

triggers: 
    - gitlab: 
     trigger-push: false 
     trigger-merge-request: false 
     trigger-open-merge-request-push: both 
     ci-skip: false 
     set-build-description: false 
     add-note-merge-request: false 
     add-vote-merge-request: false 
     add-ci-message: true 
     allow-all-branches: true 
     include-branches: 
     - 'master' 
     - 'master2' 
     - 'local-test' 
     exclude-branches: 
     - 'broken-test' 
     - 'master-foo' 

Mã của bạn có kết hợp các chi nhánh không?

+0

Ý tôi là hộp kiểm không được chọn. Tôi quen thuộc với Jenkins và tôi đã mở rộng toàn bộ phần. Kích hoạt không bị biến dạng. Câu hỏi không phải là về việc sử dụng giao diện người dùng Web Jenkins mà là về Trình tạo công việc của Jenkins. Những gì tôi thấy trong giao diện người dùng web chỉ là một triệu chứng. Và bạn nói đúng không. Công việc này không được xây dựng trên push to GitLab. Tôi biết tôi phải làm sai trong định nghĩa YAML của Job Builder. Câu hỏi đặt ra là sai lầm là gì. – ElmoVanKielmo

+0

Đã cập nhật câu trả lời của tôi –

+0

Tôi hiểu rằng việc chỉ định các nhánh là tùy chọn. Sẽ thử nó. – ElmoVanKielmo

Các vấn đề liên quan