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:
- Tôi đã thêm chứng chỉ Root CA vào
/etc/gitlab-runner/certs/ca.crt
.
- Tôi cũng đã thử với một tệp có CA gốc và CA trung gian trong một chuỗi.
- 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.