Triển khai liên tục với gitignore


12

Khi thực hiện triển khai liên tục với Git, làm thế nào để bạn xử lý các tệp bị bỏ qua trong gitignore? Các tệp đó bị bỏ qua vì lý do riêng tư (nghĩa là không muốn chúng bị đẩy ra các kho lưu trữ từ xa khác , như GitHub), nhưng với các tệp bị bỏ qua không được đẩy vào kho triển khai liên tục, ứng dụng sẽ không chạy (vì các tệp bị bỏ qua cần thiết để phần mềm hoạt động chính xác).

Làm thế nào để mọi người thường đi về điều này? Trong trường hợp này, Git không phải là ứng cử viên tốt nhất để triển khai liên tục do các tệp bị bỏ qua?


2
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì nó không cho thấy nỗ lực nghiên cứu cơ bản tối thiểu.
Scant Roger

3
Tôi không thấy thiếu nỗ lực nghiên cứu. OP dường như hiểu những gì gitignore làm hoàn toàn tốt. Những gì tôi thấy là một vấn đề XY, nhưng vì cả X và Y đều được giải thích trong câu hỏi, Doc đã có thể viết một câu trả lời đàng hoàng, hy vọng giải quyết được vấn đề thực sự của OP.
Ixrec

1
@ScantRoger: thành thật mà nói, câu hỏi có thể được viết tốt hơn, nhưng nó còn lâu mới tệ đến mức nó xứng đáng được bình chọn chặt chẽ.
Doc Brown

Câu trả lời:


14

Nếu phần mềm của bạn không chạy mà không có các tệp đó, bạn sẽ gặp vấn đề với bất kỳ loại triển khai, thủ công, tự động hoặc liên tục, với bất kỳ loại VCS nào, hoặc thậm chí không có bất kỳ VCS nào. Vì vậy, hãy thay đổi phần mềm của bạn để nó có thể chạy thực sự mà không cần các tệp đó (ví dụ: phần mềm có thể giả sử một số "tham số mặc định" nếu các tệp bị thiếu) hoặc bạn cung cấp một số phiên bản của các tệp phù hợp để triển khai được sao chép ( như một phần của bước triển khai) đến môi trường đích trong trường hợp không có phiên bản "riêng tư" của các tệp đó.

Nếu bạn đang nói về một cái gì đó như một tệp chứa thông tin cơ sở dữ liệu để đăng nhập vào máy chủ, vì lý do bảo mật, bạn không muốn kiểm soát phiên bản, thì bạn sẽ phải đưa tệp đó vào môi trường triển khai một lần , có thể là thủ công , bởi một người có đủ quyền hoặc biết mật khẩu. Nhưng đó là cố ý và không nên ngăn bạn triển khai các phiên bản phần mềm mới hàng ngày. Chỉ cần đảm bảo rằng các tệp thông tin đăng nhập tại chỗ không bị ghi đè khi bạn triển khai phiên bản mới.


Đồng ý, nếu kiểm tra từ vcs là không đủ để xây dựng và chạy, mặc dù công suất giảm, thì cây nguồn của bạn không đầy đủ.
Newtopian

@Newtopian: lưu ý rằng điều này thực sự có thể có chủ ý và chính xác (xem ví dụ của tôi).
Doc Brown

2

Một tùy chọn khác là lưu trữ thông tin nhạy cảm bên trong công cụ triển khai của bạn. Và cấu hình công cụ triển khai trong một kho lưu trữ nguồn riêng.

Để dữ liệu nhạy cảm trên máy mục tiêu hoạt động, nhưng có thể bị quay bit - ai đó thay đổi nó không tuân theo quy trình, máy phanh và không ai nhớ các cài đặt chính xác, v.v ...

Ví dụ như Saltstack có https://docs.saltstack.com/en/latest/topics/pillar/index.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.