Есть много способов сделать это.
Самым простым из них является использование подключаемого модуля Jenkins Credentials (можно определить ключ, файл и т. Д.) https://wiki.jenkins -ci.org / display / JENKINS / Credentials + Plugin
Используются довольно распространенные модели:
1) Использование возможностей шифрования инструмента CI / CD (т. Е. Jenkins, используйте плагин Jenkins Credentials)
2) Храните свои секреты в СКМ (зашифрованные явно). Затем возникает проблема безопасной доставки секрета во время сборки (или его доступности при запуске), чтобы иметь возможность расшифровать секреты (пароль, учетные данные, секреты, сертификаты), которые были развернуты. Именно здесь появляется инструмент управления секретами (например, хранилище). Инструмент управления секретами позволит вам безопасно извлекать свой секрет для использования при расшифровке секретов, когда это необходимо.
3) Другой способ - фактически хранить все секреты, сертификаты и т. Д. Вне SCM в самом инструменте управления секретами и извлекать их во время развертывания / запуска.
Я бы сказал, используйте подход № 2. В этом случае ваш код каждый раз обращается к файлу одинаково (тот же путь к файлу и т. Д.). Фактический файл, который вы пытаетесь расшифровать, находится где-то в рабочем каталоге, когда дело доходит до сборки. Так что доступ к вашему Java-коду не должен вызывать проблем, если код знает, где искать файл секретов и т. Д. Затем используйте плагин Credentials Secret для дешифрования файла в качестве начального этапа сборки.