Điểm:0

GitLab Runner cho máy chủ GitLab với chứng chỉ được ký bởi CA không thành công với: chứng chỉ tự ký trong chuỗi chứng chỉ

lá cờ md

Công ty của tôi đã thay đổi Cơ quan cấp chứng chỉ (đó là một CA duy nhất và hiện tại chúng tôi có một CA gốc và một CA trung gian). Tôi đã thay đổi thành công cấu hình trong phiên bản GitLab và chuyển sang trình chạy (tức là trên Ubuntu 18.04.5 LTS). Tôi đã cố gắng làm theo Tài liệu GitLab không thành công.

Tôi đã làm theo cách tiếp cận mặc định đây có nội dung "Mặc định - Đọc chứng chỉ hệ thống" và vì vậy tôi đã thêm các chứng chỉ (CA và Trung cấp) vào danh sách CA của Ubuntu. Mọi thứ dường như hoạt động vì người chạy xuất hiện trong GitLab.

Tôi bắt đầu một công việc và tôi nhận được:

Chạy với gitlab-runner 11.5.0 (3afdaba6)
  trên CHẠY01 12ccbb74
Sử dụng trình thực thi Docker với nút hình ảnh: mới nhất ...
Kéo nút hình ảnh docker: mới nhất ...
Sử dụng hình ảnh docker sha256:ab773999a02271b25a9f3bce46018fc3ad46a7f922a5e3e8712b6d1c7087c415 cho nút:mới nhất ...
Chạy trên runner-12ccbb74-project-73-concurrent-0 thông qua (...)...
00:02
Đang tìm nạp các thay đổi...
00:01
HEAD hiện tại là 60b6860 Cập nhật mocha phụ thuộc lên v9
gây tử vong: không thể truy cập 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@(...).git/': Sự cố chứng chỉ SSL: không thể lấy chứng chỉ nhà phát hành
LỖI: Công việc không thành công: mã thoát 1

Sau đó, tôi đã thêm (trên phiên bản GitLab) chuỗi hoàn chỉnh vào tệp chứng chỉ và lỗi đã thay đổi thành Sự cố chứng chỉ SSL: chứng chỉ tự ký trong chuỗi chứng chỉ.

Logic của tôi*: Nó hoạt động với Ubuntu, nhưng nó không hoạt động với Docker. Vì vậy, tôi đã chuyển đến Chứng chỉ TLS đáng tin cậy cho người thực thi Docker và Kubernetes tiết diện.

Những gì tôi đã cố gắng cho đến nay, không thành công:

  1. Tôi đã thêm chứng chỉ Root CA vào /etc/gitlab-runner/certs/ca.crt.
  2. Tôi cũng đã thử với một tệp có CA gốc và CA trung gian trong một chuỗi.
  3. Tôi đã thêm volume = ["/cache", "/path/to-ca-cert-dir/ca.crt:/etc/gitlab-runner/certs/ca.crt:ro"] đến config.toml tập tin. Nhưng tôi gần như chắc chắn rằng tôi nên thay thế /path/to-ca-cert-dir với một cái gì đó. Tôi chỉ không biết những gì.

*Cập nhật: Khi tôi cài đặt GitLab Runner, tôi đã theo dõi Cài đặt bằng kho lưu trữ GitLab cho Debian/Ubuntu/CentOS/RedHat, vì vậy các hướng dẫn của Docker/K8 không có ý nghĩa. tôi đã đăng một câu trả lời về cách tôi đã có thể giải quyết điều này.

Điểm:1
lá cờ md

Tôi đã có thể làm cho nó hoạt động theo tùy chọn thứ ba trong Các tùy chọn được hỗ trợ cho chứng chỉ tự ký nhắm mục tiêu máy chủ GitLab, điều đó nói:

Đọc chứng chỉ PEM: GitLab Runner đọc chứng chỉ PEM (không hỗ trợ định dạng DER) từ một tệp được xác định trước:

/etc/gitlab-runner/certs/hostname.crt trên các hệ thống *nix khi GitLab Runner được thực thi với quyền root.

Nếu địa chỉ máy chủ của bạn là https://my.gitlab.server.com:8443/, hãy tạo tệp chứng chỉ tại: /etc/gitlab-runner/certs/my.gitlab.server.com.crt.

Vì vậy, tôi vừa thêm chuỗi hoàn chỉnh (chứng chỉ GitLab, Trung cấp, Gốc) vào tên tệp /etc/gitlab-runner/certs/<gitlab-url>.crt. Khởi động lại các dịch vụ với khởi động lại gitlab-runner và công việc đang hoạt động.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.