Concourse là gì

Vì đấy là mã nguồn mnghỉ ngơi buộc phải tín đồ cải tiến và phát triển hoàn toàn có thể custom về cỗ core CI/CD theo nguyện vọng. Và Concourse được xây dựng trên cơ chế đơn giản dễ dàng về resources, tasks và jobs. Việc sử dụng Concourse là một trong những biện pháp tiếp cận về CI/CD hoàn hảo.

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


*
*
*

Cấu hình pipeline của chúng ta tiếp nối được hiển thị vào hình ảnh người dùng web, chỉ việc một cú bấm chuột nhằm nhận ra từ bỏ hộp red color (thất bại) để xem vì sao nó không thắng cuộc.

Hiển thị vận động cũng cung ứng một vòng ý kiến “gut check” – nếu nó dường như sai, có lẽ nó đang sai.

Kiểm thẩm tra mã nguồn CI

$ fly -t ci set-pipeline -p booklit -c pipeline.yml$ vyên pipeline.yml$ fly -t ci set-pipeline -p booklit -c pipeline.yml$ git add pipeline.yml$ git commit -m "initial pipeline"Tất cả cai quản trị được tiến hành bằng cách sử dụng Fly CLI. Lệnh fly set-pipeline đẩy thông số kỹ thuật lên đến mức Concourse. lúc nó trông ổn, chúng ta cũng có thể chất vấn tệp tin nhằm kiểm soát và điều hành mối cung cấp. Vấn đề này góp dễ dàng phục sinh nếu như máy chủ Concourse của công ty 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ả phần đa máy chạy vào container, đảm bảo một môi trường thiên nhiên sạch sẽ bên trên các lần chạy. Mỗi task hướng đẫn image riêng của chính nó, cho nó toàn quyền kiểm soát những dependencies, cố do quản lý bọn chúng bên trên các workers.

fly intercept đang gửi bạn vào một trong số build của những containers, có thể có ích đến bài toán debugging.

Xem thêm: Yamawaro Âm Dương Sư - Vị Trí Thức Thần Nhiệm Vụ Truy Nã Âm Dương Sư

Lặp lại cục bộ nkhô nóng 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 lớn run with the same inputs as the failed job. You can then replace an đầu vào with your local changes with -i khổng lồ test if your fix is valid.

Lệnh fly execute thực thi một task nhỏng một bản dựng một lượt, với những đổi khác cục bộ của công ty. Như vậy đã chạy code của chúng ta theo cách đúng mực y hệt như giải pháp nó vẫn chạy trong pipeline của công ty, mà lại bạn chưa hẳn thường xuyên đẩy những commit bị hỏng cho tới Khi nó vận động. Đạt được lịch sử một thời build màu xanh #1!

khi một job không thắng cuộc, chúng ta có thể sử dụng fly execute với cờ-j nhằm chạy với thuộc các inputs nlỗi failed job. Quý Khách hoàn toàn có thể thay thế một đầu vào bởi những biến đổi local của người sử dụng bằng -i để kiểm soát coi phiên bản sửa lỗi của khách hàng có thích hợp lệ ko.

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

resource_types:- name: slaông chồng type: docker-image source: repository: cù.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 tinh vi. Ttuyệt vào đó, nó tất cả một sự trừu tượng khỏe khoắn duy nhất.

Phần resources của một pipeline liệt kê các Resources , là những vị trí bên phía ngoài trừu tượng địa điểm pipeline của các bạn sẽ quan sát và theo dõi những biến hóa, tìm hấp thụ từng chút ít tự và đẩy từng chút ít đến.

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

Về cốt yếu, Concourse không biết gì về Git. Nó đi kèm theo với 1 một số loại resource git ra khỏi hộp, tuy thế bạn có thể thuận lợi đưa chính bạn vào pipeline của người tiêu dùng. Các các loại resource được thực thi dưới dạng image cất các scripts – sử dụng docker-image, chúng có thể được tìm kiếm hấp thụ trường đoản cú Docker registry.