Jak uniknąć przechowywania haseł w kontroli wersji?

Jakiej strategii używasz, aby uniknąć przechowywania haseł w kontroli wersji?

Obecnie mam hasła do programowania / testowania / produkcji zapisane w trzech różnych plikach, a odpowiedni plik zostaje użyty podczas wdrażania. Wszystko to zależy od kontroli wersji, ale nie jestem zbyt zadowolony z tego, ponieważ nie wszyscy programiści muszą znać te hasła (zwłaszcza te z zewnątrz, które mają dostęp tylko wtedy, gdy ich projekty trwają, co może być tylko miesiącem).

Przechowywanie haseł w bazie danych nie jest dobrym rozwiązaniem:

Potrzebuję większości danych podczas inicjalizacji kontekstu Spring (aplikacja Java) i nie chcę budować rusztowań do łączenia się z pojedynczą bazą danych, a następnie łączenia się z resztą baz danych i inicjowania pozostałej części aplikacjiniektóre hasła są związane tylko z wdrożeniem; hasło dostępu do różnych serwerów, magazynów kluczy itp .; są to rzeczy, których aplikacja nie może załadować po uruchomieniu, ponieważ w ogóle jej nie ładuje

Zastanawiam się nad przeniesieniem konfiguracji wdrożenia z maszyny programisty na dedykowany komputer, który sprawdza kod z kontroli wersji i uruchamia skrypt kompilacji / wdrażania, ale nie jestem pewien, jaki byłby najlepszy sposób, aby to zrobić.

Muszę też powiedzieć, że nie chcę ostatecznego bezpieczeństwa: chcę tylko uniknąć haseł na każdym dysku programisty i uczynić go zbyt łatwym.

Pytam więc o twoje doświadczenia / najlepsze praktyki. Jak ty to robisz?

questionAnswers(6)

yourAnswerToTheQuestion