Điểm:0

Triển khai monorepo mà không cần SSH

lá cờ cn

Tiết lộ đầy đủ: Tôi là một DevOps mới.

Tôi đang chạy repo MERN mono trên phiên bản EC2. Ban đầu, tôi sẽ luôn SSH vào máy của mình, lấy từ kho lưu trữ và xây dựng lại. Nhưng có một số vấn đề với điều này.. quá trình xây dựng mất nhiều thời gian hơn và do đó, khi kết nối SSH đôi khi bị ngắt, quá trình xây dựng sẽ bị chấm dứt. Điều này xảy ra rất nhiều khiến việc triển khai trở nên khó khăn.

Tôi đã nghĩ về nó và tôi chắc chắn rằng có một dịch vụ có thể làm được điều này: Tôi có thể sử dụng đường dẫn CI/CD trong kho lưu trữ của mình (BitBucket), vì vậy khi có một cam kết trên nhánh chính, nó có thể ping phiên bản của tôi, và sau đó có một ứng dụng đang chạy trên phiên bản của tôi, ứng dụng này khi nhận được lệnh ping này, sẽ kéo, xây dựng lại và khởi động lại repo. Do đó, vì nó sẽ là một ứng dụng bên trong EC2 nên a.) không cần SSH vào và b.) là một giải pháp đáng tin cậy để triển khai. Thật tuyệt nếu có cách nào đó để theo dõi quá trình xây dựng khi nó được kích hoạt.

Tôi không thể diễn đạt yêu cầu của mình do đó tôi không thể xem xét các giải pháp có sẵn để làm như vậy, vui lòng đề xuất tương tự.

anx avatar
lá cờ fr
anx
Nếu bạn có các tính năng đường dẫn BitBucket và hài lòng với chúng, thì câu hỏi là gì? Chỉ cần .. sử dụng chúng? Nếu bạn sẵn sàng cung cấp cho họ các khóa ssh phù hợp, kết nối của họ sẽ không bị ảnh hưởng bởi các sự cố kết nối cục bộ của bạn.
lá cờ cn
Câu hỏi của tôi là: có sẵn một ứng dụng như vậy không, có thể được BitBucket ping (thông qua IP đàn hồi và đang chạy bên trong máy EC2) và khi được ping, nó sẽ kéo và xây dựng trên EC2 (đây là phần dễ dàng)
lá cờ cn
(Một lần nữa, noob ở đây, tôi chắc chắn có một thứ như vậy nhưng tôi không biết làm thế nào để mô tả nó nên tôi đã đến đây)
lá cờ cn
đơn giản hóa hơn nữa: thiết lập triển khai hiện tại của tôi liên quan đến tạo đường hầm SSH và như chúng ta biết, những thứ đó có thể không ổn định, do đó làm gián đoạn quá trình xây dựng và hiệu ứng gõ cửa khiến trang web ngừng hoạt động. Vì vậy, tôi muốn bắt đầu tránh nó để ủng hộ một giải pháp chỉ tự khởi động bản dựng cục bộ (Tập lệnh) dựa trên một số loại lệnh gọi (chẳng hạn như lệnh gọi REST)
lá cờ cn
Bạn có thể chỉ cần [nền/tách tiến trình](https://askubuntu.com/q/8653/4827) để nó không bị giết khi tiến trình gốc (shell) chết hoặc sử dụng `screen`/`tmux` .
lá cờ cn
@AaronCopley cảm ơn, đó là một ý tưởng hay cho việc triển khai thủ công nhưng đồng thời, thật tuyệt nếu tôi loại bỏ ngay cả điều này cần phải làm điều này :)
Điểm:1
lá cờ dj

Tôi khuyên bạn nên tìm hiểu thêm về cách thức hoạt động của CI/CD. Đường ống Bitbucket khá đầy đủ để làm những gì bạn muốn. Những gì bạn muốn tồn tại trong phạm vi của nhiều công cụ. Không có công cụ đơn lẻ nào làm mọi thứ chính xác, một số người sử dụng Kubernetes, một số sử dụng docker-compose. Để kiểm tra sức khỏe, điều đó thường được xử lý trên bộ cân bằng tải hoặc tương tự. Một số tạo tập lệnh tùy chỉnh để quản lý mọi thứ. Từ những gì bạn đã mô tả, có vẻ như việc viết kịch bản thủ công sẽ là phù hợp nhất.

lá cờ cn
vâng, tôi biết rằng bitbucket là đủ, nhưng vì tôi tin rằng có thể có một số cấu hình cục bộ bắt buộc chỉ nên để trên các máy EC2 của tôi, tôi muốn giữ cho bản dựng tự chạy ở đó.... vì vậy tất cả bitbucket đó việc cần làm là ping máy của tôi - (KIỂM TRA, sử dụng webhook) và phần duy nhất của câu đố còn lại là một ứng dụng để nhận lệnh gọi webhook trên máy đó và bắt đầu quá trình xây dựng ở đó (chạy tập lệnh ở đó)

Đă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.