Có thể lưu hình ảnh bộ đệm trên Travis CI không? Cố gắng lưu trữ thư mục và /var/lib/docker/repositories-aufs
tệp với cache.directories trong travis.yml dường như không hoạt động vì chúng yêu cầu root.Hình ảnh bộ đệm ẩn trên Travis CI
Trả lời
Từ quan điểm Docker, tôi nghĩ cách tốt nhất bạn có thể thực hiện việc này (không có khả năng chạy mạng cục bộ registry) là save
hình ảnh Docker và lưu vào bộ đệm tar đã xuất. Bạn sẽ cần phải load
khi bắt đầu thay vì pull
một hình ảnh. Bằng cách này, bạn không gây rối với việc triển khai bộ lưu trữ docker.
install:
- docker pull busybox
- docker save busybox | gzip > docker/busybox.tar.gz
cache:
directories:
- docker
Sau đó, bạn sẽ cần load
hình ảnh được lưu trong bộ nhớ cache trước khi chạy Travis.
before_script:
- gzip -dc docker/busybox.tar.gz | docker load
Bit Tôi không rõ ràng về cho Travis, là nếu bạn cần để ngăn chặn nó từ chạy bước install
sau lần đầu tiên. Bạn không muốn Travis kéo và xuất hình ảnh mỗi khi nó được lưu trữ. Tôi không chắc liệu có chỉ thị cache
tự động thực hiện điều đó cho bạn không?
Câu hỏi chính sau đó là liệu điều này là thực sự sẽ trở thành bất kỳ nhanh hơn kéo hình ảnh hay không:
Các bộ nhớ đệm hắc ín lên tất cả các thư mục được liệt kê trong cấu hình và tải lên chúng để S3, sử dụng URL bảo mật và được bảo vệ, đảm bảo an ninh và bảo mật của các lưu trữ được tải lên.
Lưu ý rằng điều này làm cho bộ nhớ cache của chúng tôi không mạng cục bộ, nó vẫn bị ràng buộc với băng thông mạng và độ phân giải DNS cho S3. Điều đó tác động đến những gì bạn có thể và nên lưu trữ trong bộ nhớ cache. Nếu bạn lưu trữ các lưu trữ lớn hơn vài trăm megabyte trong bộ nhớ cache, có thể bạn sẽ không thấy cải thiện tốc độ lớn .
Bạn có thể chỉ đang thêm phí. Vì sổ đăng ký Docker được Cloudfront hỗ trợ, Travis đã kéo hình ảnh nén từ địa phương hoặc ít nhất là đóng cơ sở hạ tầng của Amazon. Có thể yêu cầu họ cho các tính năng để cache Docker images natively, tương tự như những gì họ làm cho apt
gói, although it doesn't sound hopeful.
Tôi không chắc chắn nếu điều này là chính xác những gì tôi muốn, vì nó xuất khẩu các thùng chứa và tôi chỉ tìm kiếm hình ảnh. Cũng sẽ không cập nhật như bạn có thể đã lưu ý. Đó là một đoạn trích tốt mặc dù, có thể có thực sự là không có điểm trong cố gắng để cache hình ảnh docker. – kag0
Bạn sẽ cần phải tự giải phóng bộ nhớ cache qua gui khi bạn muốn cập nhật. Các tên hình ảnh sẽ cần phải khác nhau quá, đó là một chút đau đớn. Hệ thống tệp vùng chứa cũng chỉ là một hình ảnh với các thay đổi được xếp chồng lên trên cùng. Nếu bạn không thực hiện bất kỳ thay đổi nào, bạn vẫn có hình ảnh. Trong thực tế, một 'docker build' tạo ra hình ảnh bằng cách cam kết thay đổi được thực hiện trong một container đang chạy. Với việc sử dụng 'export' bạn sẽ mất theo dõi các lớp hình ảnh. – Matt
Hãy xem những gì circleci đề xuất: https://circleci.com/docs/docker/#caching-docker-layers.
Cần kết hợp dễ dàng docker save
/docker load
với bộ nhớ đệm của thư mục do travis cung cấp.
CircleCI 2.0 tự động lưu trữ hình ảnh docker.Họ lưu trữ nó trên mỗi máy chủ lưu trữ, vì vậy lúc đầu, người ta có thể nghĩ, không có bộ nhớ đệm. Càng nhiều bản dựng, bộ nhớ cache càng thường xuyên được nhấn. – koppor
- 1. Retrolambda trên Travis CI
- 2. Có thể Travis CI cache docker images?
- 3. Travis CI Build Không
- 4. Travis CI bỏ qua MAVEN_OPTS?
- 5. Không Ngôn ngữ: Travis CI
- 6. Tôi có thể tải hình ảnh VM-Travis-CI 64-bit ở đâu?
- 7. Phát hiện khi mã được chạy trên Travis CI
- 8. Cấu hình Á hậu CI Gitlab với bộ nhớ đệm trên docker
- 9. Trích dẫn YAML (đối với Travis CI)
- 10. Cài đặt Numpy 1.8 trong Travis CI
- 11. Cache Brew xây dựng với travis ci
- 12. Lỗi trên travis-ci xây dựng "Không Rakefile tìm thấy"
- 13. Thử nghiệm các ô dựa trên matplotlib trong Travis CI
- 14. travis-ci regex trên travis_tag không được giải quyết
- 15. Travis CI Trong thư mục con
- 16. Huy hiệu Travis-CI không cập nhật
- 17. Travis CI cho các kho riêng tư
- 18. AFNetworking 3.0 trên bộ nhớ đệm hình ảnh đĩa
- 19. Travis CI với Cây đậu nành Amazon
- 20. Xóa Bộ đệm ẩn Bộ nhớ Cache Khi Thay đổi Hình ảnh
- 21. Có dịch vụ CI nào cho phép bạn xây dựng các vùng chứa Docker và sử dụng bộ đệm ẩn của bộ đệm docker không?
- 22. Cam kết qua travis ci thất bại
- 23. cache gradle phụ thuộc, Travis CI
- 24. Travis-CI với hoa nhài-nút
- 25. Travis CI cho một dự án Qt5
- 26. Travis CI/Pro: Phạm vi CIDR/IP?
- 27. HTML5 ẩn bộ nhớ đệm
- 28. Đặt lại số bản dựng trong Travis-CI
- 29. Mô hình bộ đệm ẩn có thể cắm được?
- 30. Cách hoạt động của bộ đệm ẩn trên Express - Node.js?
Đây là bản sao, hãy xem http://stackoverflow.com/questions/32866599/can-travis-ci-cache-docker-images/41975912#41975912 –