Concourse là gì

     

Vì đây là mã mối cung cấp mở nên bạn phát triển có thể custom về bộ core CI/CD theo ý muốn. Và Concourse được gây ra trên cơ chế đơn giản về resources, tasks và jobs. Bài toán sử dụng Concourse là một biện pháp tiếp cận về CI/CD tuyệt vời.

Bạn đang xem: Concourse là gì


*
*
*

Cấu hình pipeline của doanh nghiệp sau này được hiển thị vào giao diện người tiêu dùng web, chỉ việc một cú bấm vào để nhận ra từ hộp màu đỏ (thất bại) để xem tại sao nó thất bại.

Hiển thị hoạt động cũng cung ứng một vòng bình luận “gut check” – ví như nó có vẻ sai, có lẽ nó đã sai.

Kiểm kiểm tra mã mối cung cấp CI

$ fly -t ci set-pipeline -p booklit -c pipeline.yml$ vim pipeline.yml$ fly -t ci set-pipeline -p booklit -c pipeline.yml$ git add pipeline.yml$ git commit -m "initial pipeline"Tất cả quản ngại trị được thực hiện bằng cách sử dụng Fly CLI. Lệnh fly set-pipeline đẩy cấu hình lên cho tới Concourse. Lúc nó trông ổn, chúng ta có thể kiểm tra tệp tin để kiểm soát và điều hành nguồn. Điều này giúp dễ dãi khôi phục nếu sever Concourse của khách hàng bị down.

Reproducible, Debuggable Builds

$ fly -t ci intercept -j booklit/unit -s unitroot
2c15ff11:/tmp/build/0df9eea0# ps PID TTY TIME CMD 171 pts/1 00:00:00 bash 1876 pts/1 00:00:00 psroot
2c15ff11:/tmp/build/0df9eea0# lsdepspath gopathroot
2c15ff11:/tmp/build/0df9eea0# █Tất cả hầu như thứ chạy trong container, đảm bảo an toàn một môi trường xung quanh sạch đã trên mỗi lần chạy. Mỗi task chỉ định image riêng của nó, mang lại nó toàn quyền kiểm soát điều hành các dependencies, cố kỉnh vì thống trị chúng trên những workers.

fly intercept sẽ đưa bạn vào một trong các build của các containers, hoàn toàn có thể hữu ích cho việc debugging.

Xem thêm: Cách Xóa Lưu Mật Khẩu Trong Google Chrome Đơn Giản Nhất, Xóa Mật Khẩu Đã Lưu Trên Google Chrome

Lặp lại toàn thể nhanh chóng

~/booklit $ fly -t ci execute -c ci/test.ymlexecuting build 1 at http://localhost:8080/builds/1initializingbooklit: 4.74 MiB/s 0srunning gopath/src/github.com/vito/booklit/ci/testfetching dependencies...installing ginkgo...running tests...█
The fly execute command executes a task as a one-off build, with your local changes. This will run your code in exactly the same way it would run in your pipeline, without you having khổng lồ repeatedly push broken commits until it works. Achieve the fabled green build #1!

When a job fails, you can also use fly execute with -jflag to run with the same inputs as the failed job. You can then replace an đầu vào with your local changes with -i to demo if your fix is valid.

Lệnh fly execute thực thi một task như một bản dựng một lần, cùng với các biến đổi cục bộ của bạn. Điều này sẽ chạy code của người sử dụng theo cách đúng chuẩn giống như cách nó đã chạy trong pipeline của bạn, mà các bạn không phải liên tiếp đẩy những commit bị hỏng cho tới khi nó hoạt động. Đạt được huyền thoại build màu xanh da trời #1!

Khi một job thất bại, bạn có thể sử dụng fly execute với cờ-j để chạy với cùng các inputs như failed job. Chúng ta cũng có thể thay nắm một input bởi các đổi khác local của người sử dụng bằng -i để bình chọn xem bạn dạng sửa lỗi của doanh nghiệp có hợp lệ không.

Mang lại tích đúng theo của riêng rẽ bạn

resource_types:- name: slack type: docker-image source: repository: quay.io/ahelal/bender tag: latestresources:- name: slack-deploy type: slack source: slack_token: ((slack_token)) channel: "admin" grammar: "dang! deploy it now!"jobs:- name: prod-deploy plan: - get: slack-deploy trigger: true - # ...Concourse không có một khối hệ thống plugin phức tạp. Cầm cố vào đó, nó gồm một sự trừu tượng trẻ trung và tràn trề sức khỏe duy nhất.

Phần resources của một pipeline liệt kê các Resources , là những vị trí phía bên ngoài trừu tượng chỗ pipeline của bạn sẽ theo dõi những thay đổi, kiếm tìm nạp từng chút từ và đẩy từng chút đến.

Ví dụ, một resource cùng với kiểu git tham chiếu mang đến git repository, resource này sẽ được clone trong một get step và push đến trong put step. Đằng sau hậu trường, Concourse sẽ thường xuyên run git fetch để kiếm tìm kiếm những commit mới mà các jobs rất có thể muốn trigger.

Xem thêm: 1 Phút Để Khôi Phục Tin Nhắn Zalo Iphone Mới Nhất 2022 &Bull; Aho Tech Shop

Về cốt lõi, Concourse không biết gì về Git. Nó kèm theo với một nhiều loại resource git ra ngoài hộp, nhưng chúng ta có thể dễ dàng đưa chính các bạn vào pipeline của bạn. Các loại resource được tiến hành dưới dạng image chứa những scripts – sử dụng docker-image, chúng có thể được tìm kiếm nạp từ Docker registry.