Я изо всех сил пытался создать автоматическую сборку с использованием Jenkins с symfony 3.4.
Как правильно установить переменные окружения в Jenkins, чтобы Symfony могла их найти.
вот мой пайплайн.
node {
def app
stage('composer install') {
sh 'export $(cat env/env_vars | xargs)'
sh 'composer install --optimize-autoloader'
}
stage('yarn install') {
sh 'yarn install'
}
stage ('build assets') {
sh 'yarn encore production'
}
stage('Clone repository') {
// clone
}
stage('Build image') {
// build here
}
stage('Push image') {
// push here
}
}
затем после запуска сборки.
Я всегда получал это сообщение
....
Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_host ('%env(DATABASE_HOST)%'): Script Incenteev\ParameterHandler
\ScriptHandler::buildParameters handling the symfony-scripts event terminated with an exception
[Symfony\Component\Console\Exception\RuntimeException]
Aborted
....
Я уже использовал плагин jenkins, например EnvInjector и что-то подобное. Но Symfony по-прежнему не может найти мои переменные окружения.




Вероятно, вы можете решить это так:
stage('composer install') {
sh 'export $(cat env/env_vars | xargs) && composer install --optimize-autoloader'
}
Это сделает переменные среды доступными в одном сеансе оболочки.