Tiêu chuẩn đặt tên môi trường trong phát triển phần mềm?


15

Dự án của tôi hiện đang bị vấn đề đặt tên môi trường. Những người khác nhau có những giả định khác nhau về việc nên đặt tên cho môi trường nào hoặc tên nào được chỉ định và điều đó gây ra sự nhầm lẫn khi thảo luận về chúng. Tôi đã thực hiện một chút nghiên cứu và tôi không tìm thấy bất kỳ tiêu chuẩn nào ngoài đó.

Các thuật ngữ bao gồm "Địa phương", "Cát", "Dev", "Thử nghiệm", "Người dùng", "QA", "Dàn dựng" và "Prod" (cộng thêm một vài điều mà những người khác đã hỏi về)

Tôi không tìm kiếm ý kiến, mặc dù nếu có một ý kiến ​​cho rằng "mọi người" sẽ lấy nó - tôi đang cố gắng tìm các định nghĩa được nâng cao bởi một số cơ quan có thẩm quyền, ngay cả khi nó không chính thức.

Đây là môi trường chúng tôi hiện đang sử dụng:

  1. Môi trường trên PC của nhà phát triển
  2. Môi trường được chia sẻ nơi các nhà phát triển trực tiếp tải lên mã để tự kiểm tra
  3. Môi trường chung nơi các tiêu chuẩn và chức năng được kiểm tra bởi những người QA
  4. Môi trường chung nơi hoàn thành và mã kiểm tra QA được chấp thuận bởi người yêu cầu dự án
  5. Môi trường phản ánh môi trường cuối cùng là kiểm tra cuối cùng và chuẩn bị triển khai
  6. Môi trường cuối cùng nơi sử dụng mã

Tôi biết những gì tôi gọi họ, nhưng có một số tiêu chuẩn về điều này? Cảm ơn trước.


Cảm ơn. Tôi đã không biết về SE đó. Tôi biết nó không thuộc về ServerFault hoặc SuperUser, nhưng tôi chưa bao giờ nghe nói về lập trình viên. Trước đây.

Tôi đã đánh dấu nó để di chuyển, vì vậy lý tưởng nhất là tìm đường đến đúng trang web.
Ricardo Altamirano

Tùy thuộc vào phạm vi dự án, bạn có thể có ít hoặc nhiều môi trường.
Yusubov

Câu trả lời:


11

Không chỉ không có một tiêu chuẩn cố định, mà thực sự không có một mẫu cố định. Sự phụ thuộc giữa những gì bạn đang xây dựng và quy mô mà bạn có thể đủ khả năng để nhân rộng nó sẽ quyết định cái này phải trông như thế nào từ loại dự án này sang dự án khác.

Tôi đã làm việc với ít nhất một môi trường và có đến 13.

Trong chuỗi bạn mô tả tôi thường thấy họ đặt tên cho họ giống như

  1. local hoặc dev nếu bạn không sử dụng dev trong bước tiếp theo
  2. dev hoặc tích hợp nếu đây là lần triển khai đầu tiên sau khi hợp nhất
  3. kiểm tra hoặc QA
  4. uat hoặc chấp nhận hoặc QA nếu bạn không sử dụng QA trong bước 3
  5. pre-prod, staging hoặc Performance nếu đó là bước hiệu suất cho lần đăng xuất cuối cùng
  6. sản phẩm

Lời khuyên của tôi là hãy đồng ý về tên, mục đích và tiêu chí để nhập và để lại cho mỗi sản phẩm hoặc cho mỗi dự án sau đó khi bạn nhận ra rằng bạn cần môi trường thứ 7 hoặc chỉ cần 5 trong một trường hợp vì một lý do khác trong tương lai sẽ thảo luận lại với đội.

Nếu bạn có các thành viên trong nhóm đang gác máy về ngữ nghĩa của các tên, bạn luôn có thể bỏ tên và gọi chúng là prod trừ sáu thông qua prod trừ một với một người quản lý chỉ từ chối để nhân viên QA của mình kiểm tra trên môi trường đó không được đặt tên là "QA"

Nếu bạn đang tìm cách đặt tên cho các máy chủ, tôi thường đề nghị đặt tên cho chúng theo thẩm quyền của chúng. Thông thường, điều này diễn ra như sau:

  • nhà phát triển có thể bị thao túng bởi các nhà phát triển
  • Các máy QA không thể bị thao túng bởi các nhà phát triển nhưng cũng không được giám sát bởi bộ phận hỗ trợ sản xuất
  • máy prod là prod hỗ trợ kinh doanh

hầu hết mọi người cuối cùng sử dụng các loại tên đó làm tiền tố hoặc hậu tố để bạn có một chuỗi như "devsqllweb" "qasqlweb" "prodsqlweb" hoặc đại loại như thế.


Về cơ bản, bạn đang nêu rõ kết luận mà tôi đã đưa ra. Tôi đã hy vọng có một số loại tiêu chuẩn ngoài kia để tôi có thể giải quyết tình huống mà không cần thiết lập các tiêu chuẩn cơ bản tùy ý. Vấn đề của tôi nằm ở chỗ cấu trúc môi trường "chính" của chúng ta có ít môi trường hơn dự án này mà tôi đang làm việc (vì vậy tôi không thể phản ánh những gì chúng ta sử dụng bình thường) - và dự án của tôi có rất nhiều chuyên gia tư vấn từ nhiều nơi, nghĩa là không người ta có cùng tiêu chuẩn. Tôi sẽ để câu hỏi này mở thêm một vài giờ nữa để xem liệu có ai khác sẽ bấm chuông không, nhưng đây là câu trả lời tôi sợ.
Marcus_33

Tôi đã thấy các tiêu chuẩn cho việc này. Chúng là loại tiêu chuẩn hoặc là ý kiến ​​hoặc rất cụ thể cho một tình huống nhất định không may.
Bill

2

Tôi đoán rằng đến từ một ngành công nghiệp quy định hơn, có cấu trúc hơn, tùy chọn đặt tên máy chủ là một thứ xa xỉ mà tôi không có. Các máy chủ của chúng tôi được đặt tên theo chính sách CNTT của công ty chúng tôi - vì vậy tên máy chủ thực tế của máy không phải là thứ chúng tôi có thể kiểm soát.

Những gì chúng tôi đã làm là đi theo lộ trình của tên và bí danh DNS. Quy tắc là chữ cái đầu tiên xác định vai trò chung của máy chủ trong quá trình phát triển (vùng)

  • p = sản xuất
  • d = phát triển
  • s = dàn dựng
  • t = thử nghiệm

Sau đó, chúng tôi có một tên ba chữ cái tối đa để xác định vai trò của máy

  • ứng dụng = ứng dụng
  • db = cơ sở dữ liệu
  • web = lối vào / web
  • kas = bộ nhớ đệm

Theo sau một chữ số nếu có nhiều máy trong vùng đó. Chúng tôi xuất bản này trên máy chủ tài liệu nội bộ và cung cấp nó như một phần của bất kỳ tài liệu mới nào cho các dự án và trong giai đoạn bootstrapping.

Chúng dành cho những máy chủ là một phần của quá trình phát triển. Đối với máy hỗ trợ, chúng tôi có chính sách tự do hơn; và khi chúng tôi phải cung cấp một máy chủ phụ trợ mới, chúng tôi yêu cầu các nhóm phát triển đưa ra một cái tên mà họ thích.

Điều này đã dẫn đến một số cái thú vị, hai cái yêu thích của tôi là hộp cerberus (proxy nội bộ) và hades (máy chủ tài liệu / mạng nội bộ)

Tôi chắc chắn đây không phải là một cách thực hành tốt nhất, nhưng đây là những gì chúng tôi sử dụng và nó hiệu quả với chúng tôi.


1

Không có định nghĩa cố định. Có một số ít được sử dụng bởi thực tiễn phổ biến (mà bạn đã liệt kê). Nếu bạn muốn đặt cho mỗi môi trường tên của một nhân vật trong Toy Story, bạn có thể (tuy nhiên sẽ không đề xuất nó).

Những gì tôi sẽ làm là tạo ra một bảng chú giải cho công ty, trong đó chúng tôi sẽ đưa ra những cái tên mà chúng tôi muốn sử dụng.

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.