2015-11-18 30 views
5

Tôi muốn tạo một quy trình làm việc tích hợp liên tục bằng cách sử dụng Jenkins + BitBucket + Docker + Python.Jenkins + Docker

Dưới đây là tất cả các bước mà tôi tưởng tượng:

  1. Người dùng ứng dụng push mã python với đơn vị xét nghiệm và một Dockerfile.
  2. BitBucket móc công việc trên jenkins
  3. Jenkins sao chép kho lưu trữ.
  4. Jenkins tạo Dockerfile.
  5. Jenkins chạy các trường hợp kiểm tra thực thi hình ảnh docker. Trường hợp thử nghiệm của tôi được dockerized.
  6. Nếu tất cả các bài kiểm tra vượt qua, Jenkins đẩy hình ảnh vào Docker Hub.

Đây có phải là phương pháp phù hợp/tốt không?
Có ai có kinh nghiệm làm việc này không? Có ai có liên kết/tài liệu để giúp tôi không?

Trả lời

0

Đó là một cách tiếp cận rất tốt. Bạn đã trả lời câu hỏi của riêng bạn. Vì vậy, rõ ràng cho bạn rằng đây là một cách tiếp cận mà Docker hỗ trợ.

Một gợi ý: Khi bạn cũng muốn lưu trữ ứng dụng của mình (có lẽ ở giai đoạn sau), hơn đề xuất sử dụng OpenShift V3 của Red Hat Docu.

Nền tảng này cũng hoạt động với Docker. Có thể chạy Jenkins trong một thùng chứa Docker. Bạn có thể cấu hình Jenkins này để thực hiện việc xây dựng-kiểm thử-triển khai ứng dụng của riêng bạn. Ứng dụng của bạn sẽ được triển khai trong một vùng chứa Docker khác. Có thể sử dụng webhooks, mở rộng ứng dụng của bạn và đảm bảo tính sẵn sàng cao của nó.

0

Sử dụng Jenkins với Python và Git trên Docker

Đây là một vấn đề tôi phải đối mặt và tôi nghĩ rằng tôi muốn cố gắng giải quyết nó một cách mạnh mẽ. Jenkins là tuyệt vời nhưng khi bạn muốn di chuyển nó đến một hệ thống khác, bạn nhận ra có bao nhiêu hành lý bạn tạo ra bằng cách cài đặt một dịch vụ sau khi dịch vụ khác mà nó dựa vào. Để giải quyết điều này với Docker là một sự lựa chọn tuyệt vời nhưng một trong những barebones mà Jenkins tạo ra chỉ là, rất barebones.

Dockerfile

My article giải thích dockerfile cũng như làm thế nào để sử dụng hoặc mở rộng nó

Tôi đề cập đến làm thế nào để mở rộng nó gần cuối cùng nhưng các giải pháp rõ ràng sẽ có sự thay đổi tôi đã đề cập từ:

ENV BASE_APKS="sudo openssl openssh-client zip ttf-dejavu maven ruby" \ 

để

ENV BASE_APKS="sudo openssl openssh-client zip ttf-dejavu maven ruby python" \ 

Và sau đó xây dựng lại bằng cách sử dụng

docker build -t mycompany/jenkins . 
Các vấn đề liên quan