终极指南Beanstalk-Deploy如何一键部署应用到AWS Elastic Beanstalk【免费下载链接】beanstalk-deployGitHub action (and command line script) to deploy apps to Elastic Beanstalk项目地址: https://gitcode.com/gh_mirrors/be/beanstalk-deployBeanstalk-Deploy是一款功能强大的GitHub Action和命令行工具专为简化AWS Elastic Beanstalk应用部署流程而设计。无论是作为GitHub Action集成到CI/CD工作流还是作为独立命令行工具使用它都能帮助开发者轻松实现应用的自动化部署显著提升开发效率。 核心功能与优势Beanstalk-Deploy的核心价值在于将复杂的AWS Elastic Beanstalk部署流程简化为几个关键步骤上传部署包到S3、创建Beanstalk版本、部署版本到指定环境并实时监控部署状态。其主要优势包括自动化部署无需手动操作AWS控制台通过配置文件或命令行参数即可完成全流程部署状态监控自动等待部署完成并记录环境日志部署失败时返回非零退出码灵活适配支持创建新版本或部署已有版本满足不同场景需求参数可控提供丰富的可选参数如部署超时设置、版本描述等精细控制部署过程 准备工作在开始使用Beanstalk-Deploy之前需要完成以下准备工作AWS账号与权限确保拥有AWS账号并为部署用户分配适当权限。推荐附加AWSElasticBeanstalkWebTier和AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy策略AWS凭证准备好具有部署权限的AWS Access Key和Secret Key部署包生成应用的ZIP格式部署包Beanstalk环境已在AWS Elastic Beanstalk中创建应用和环境 作为GitHub Action使用Beanstalk-Deploy最常见的用法是作为GitHub Action集成到CI/CD工作流中。以下是一个完整的工作流示例name: Deploy master on: push: branches: - master jobs: build: runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkoutv2 - name: Generate deployment package run: zip -r deploy.zip . -x *.git* - name: Deploy to EB uses: einaregilsson/beanstalk-deployv21 with: aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} application_name: MyApplicationName environment_name: MyApplication-Environment version_label: 12345 region: us-west-2 deployment_package: deploy.zip部署已有版本如果需要部署已存在的Beanstalk版本只需省略deployment_package参数- name: Deploy to EB uses: einaregilsson/beanstalk-deployv21 with: aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} application_name: MyApplicationName environment_name: MyApplication-Environment version_label: 12345 region: us-west-2关键参数说明Beanstalk-Deploy提供了丰富的配置参数以下是一些常用参数的说明aws_access_keyAWS访问密钥必填aws_secret_keyAWS密钥必填regionAWS区域必填application_nameBeanstalk应用名称必填environment_nameBeanstalk环境名称可选不提供时仅创建版本version_label版本标签必填deployment_package部署包路径可选不提供时部署已有版本wait_for_deployment是否等待部署完成默认trueexisting_bucket_name使用现有S3桶名称可选不提供时自动创建️ 作为命令行工具使用除了作为GitHub ActionBeanstalk-Deploy还可以作为独立的命令行工具使用。首先通过NPM安装npm install -g beanstalk-deploy使用时需要先设置AWS环境变量export AWS_ACCESS_KEY_IDyour_access_key export AWS_SECRET_ACCESS_KEYyour_secret_key然后执行部署命令beanstalk-deploy MyApplicationName MyApplication-Environment 12345 us-west-2 deploy.zip同样如果要部署已有版本只需省略部署包参数beanstalk-deploy MyApplicationName MyApplication-Environment 12345 us-west-2⚙️ 高级配置选项使用临时安全凭证当使用AWS STS角色获取临时安全凭证时可以通过aws_session_token参数传递会话令牌- name: Deploy to EB uses: einaregilsson/beanstalk-deployv21 with: aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws_session_token: ${{ secrets.AWS_SESSION_TOKEN }} # 其他参数...控制版本创建行为通过use_existing_version_if_available参数可以控制版本创建行为。设置为true时如果指定版本已存在则直接部署否则创建新版本- name: Deploy to EB uses: einaregilsson/beanstalk-deployv21 with: # 其他参数... use_existing_version_if_available: true调整部署等待时间对于资源有限的环境可以通过wait_for_environment_recovery参数延长部署后环境恢复等待时间- name: Deploy to EB uses: einaregilsson/beanstalk-deployv21 with: # 其他参数... wait_for_environment_recovery: 60 # 等待60秒❗ 注意事项部署包大小S3上传使用简单PUT请求对于超大部署包可能存在问题建议控制在几MB以内部署回滚工具不会自动回滚失败的部署需要手动处理Git集成不包含官方EB CLI的Git集成功能仅处理已创建的ZIP部署包权限要求确保AWS用户拥有足够权限特别是使用existing_bucket_name时需要S3访问权限 项目文件说明核心部署逻辑beanstalk-deploy.jsAWS API请求处理aws-api-request.jsGitHub Action配置action.yml项目元数据package.json 开始使用要开始使用Beanstalk-Deploy首先克隆项目仓库git clone https://gitcode.com/gh_mirrors/be/beanstalk-deploy然后根据您的需求选择作为GitHub Action或命令行工具使用按照上述示例配置参数即可快速实现AWS Elastic Beanstalk的自动化部署。无论是小型项目还是大型应用Beanstalk-Deploy都能为您提供简单、高效的部署体验让您专注于代码开发而非部署流程。立即尝试体验一键部署的便捷【免费下载链接】beanstalk-deployGitHub action (and command line script) to deploy apps to Elastic Beanstalk项目地址: https://gitcode.com/gh_mirrors/be/beanstalk-deploy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考