簡體   English   中英

使用Jenkins,git和eb cli在Elastic Beanstalk上部署php Web應用程序

[英]Deploy php web application on Elastic Beanstalk using Jenkins, git and eb cli

我有一個PHP應用程序,我想使用Jenkins部署到彈性beantalk環境中。 代碼在git上,我希望能夠使用eb cli命令(如eb use eb deploy)。

因此,我不確定如何使這項工作...如如何設置憑據,以便我可以使用Jenkins shell運行eb cli命令。

關於如何進行此操作的任何想法都將非常有幫助。

我的腳本當前看起來像這樣

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相同的方式提取憑證,您可以在文檔中找到更多信息。

您很可能必須為jenkins服務器設置一對AWS憑證。 一種方法是創建文件$JENKINS_HOME/.aws/credentials並將您的AWS憑證存儲在其中。

[default]
aws_access_key_id = MYAWSACCESSKEY
aws_secret_access_key = MYAWSSECRETKEY

創建該文件后,EB CLI將自動提取憑據並運行所需的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM