Cześć,
Bawię się ostatnio trochę w .Net Core i zastanawia mnie jedna rzecz, jak przechowywać hasła, klucze, connection stringi na produkcji, jeżeli chce się mieć w pełni zautomatyzowane CI/CD, tzn.
-push do odpowiedniego brancha
-testy
-build
-deploy na odpowiednie środowisko
Nie korzystam z Azure, repo mam na Gitlabie i wykorzystuje CI jakie on oferuje i widzę generalnie dwie opcje:
- Mogę zdefiniować w Gitlabie zmienne i przed buildem puścić skrypt który podmieni wartości w moim appsettings.json na wartości które mam zdefiniowane w Gitlabie. Minusem jest to, że z tego co się orientuje, bardziej skomplikowane hasła (ze specjalnymi znakami) nie będą zaszyfrowane i będą latać plain textem po konsoli.
- W ogóle nie robię tego w fazie deploymentu, na docelowe środowiska wrzucam wcześniej przygotowany plik appsettings.json przez ftp, ewentualnie robię tutaj rożne konfigurację per środowisko i commitując zmieniam jeden parametr - environment, który wskazuje z którego pliku aplikacja ma czerpać konfigurację.