У меня есть php-приложение, которое я хочу развернуть в среде гибких beanstalk с помощью Jenkins. Код на git, и я хочу иметь возможность использовать команды eb cli, такие как
использовать
развернуть.
Итак, я не уверен, как заставить это работать … как в том, как настроить учетные данные, чтобы я мог запускать команды eb cli с использованием оболочки Jenkins.
Любые мысли о том, как это сделать, будут очень полезны.
Мой сценарий в настоящее время выглядит примерно так
git fetch
git checkout "$GIT_REF"
git pull origin "$GIT_REF"
eb use "$CUSTOM_EB_ENV"
eb deploy
$ GIT_REF и $ CUSTOM_EB_ENV — это переменные, указывающие на ветку git и имя среды ElasticBeanstalk.
Когда я запускаю работу, я получаю следующую ошибку
+ git fetch
+ git checkout master
Previous HEAD position was 36f0456t... f
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
+ git pull origin master
From github.com:something/foo_bar
* branch master -> FETCH_HEAD
Already up-to-date.
+ eb use Environment_name
ERROR: Operation Denied. The security token included in the request is invalid.
+ eb deploy
ERROR: This branch does not have a default environment. You must either specify an environment by typing "deploy my-env-name" or set a default environment by typing "eb use my-env-name".
Чтобы использовать EB CLI в каталоге, сначала необходимо выполнить eb init
но похоже, что вы уже сделали это.
Кажется, проблема в том, что у вас нет действительных учетных данных. EB CLI получает учетные данные точно так же, как AWS CLI, дополнительную информацию можно найти в документация.
Скорее всего, вам придется настроить пару учетных данных AWS для вашего сервера jenkins. Один из способов сделать это — создать файл $JENKINS_HOME/.aws/credentials
и храните там свои учетные данные AWS.
[default]
aws_access_key_id = MYAWSACCESSKEY
aws_secret_access_key = MYAWSSECRETKEY
После создания этого файла EB CLI автоматически извлекает учетные данные и запускает нужные операции.
Других решений пока нет …