- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试部署我的 角申请通过GitHub Actions到 Elastic Beanstalk 。我正在使用这个 GitHub actions用于部署到 ELB。
我的问题是,部署失败,因为 ELB 找不到 server.js
文件。我试过添加 server.js
文件放入 部署.zip 文件,但随后会引发不同的错误。
我明白了,需要server.js
运行,但是当我下载使用 推送到 ELB 的同一应用程序的构建时特拉维斯 CI .它不会抛出这样的错误,而且 CI/CD 工作得很好。
这是 ELB 记录的错误(当 server.js
未添加到 deploy.zip 时):
throw err;
^
Error: Cannot find module '/var/app/current/server.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! climber-mentee-fe@1.0.1 aws: `node server.js && npm run serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the climber-mentee-fe@1.0.1 aws script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
> climber-mentee-fe@1.0.1 aws /var/app/current
> node server.js && npm run serve
package.json
和
main.yml
(对于 CI)文件。
"name": "climber-mentee-fe",
"version": "1.0.1",
"scripts": {
"ng": "ng",
"start": "node server.js",
"serve": "ng serve --configuration=dev",
"start:staging": "gulp set --env=staging && concurrently --kill-others \"node server.js\" \"npm run serve\"",
"start:prod": "gulp set --env=prod && concurrently --kill-others \"node server.js\" \"npm run serve\"",
"build": "ng build --configuration=production",
"test": "ng test",
"aws": "node server.js && npm run serve",
"lint": "ng lint",
"e2e": "ng e2e"
},
...
...
}
name: My application CI
on:
push:
branches:
- dry-run-actions
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v1
- name: Node ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Installing NPM
run: npm install
- name: Building application and copying package.json to dist
run: npm run build && cp package.json dist/
- name: Generate deployment package
run: cd dist && zip -r ../deploy.zip ./*
- name: Beanstalk Deploy for App
uses: einaregilsson/beanstalk-deploy@v3
with:
aws_access_key: ${{secrets.AWS_ACCESS_KEY}}
aws_secret_key: ${{secrets.AWS_SECRET_KEY}}
application_name: my-app
environment_name: my-app-env
region: ap-south-1
version_label: 455
deployment_package: deploy.zip
最佳答案
我终于想通了。
我们需要压缩完整的根文件夹,不包括 node_modules
文件夹。所以,在那种情况下,我不需要任何 server.js
和 package.json
包含在 dist
内文件夹。
更新的 yml 片段
- name: Building application
run: npm run build
- name: Generate deployment package
run: zip -r deploy.zip * -x ./node_modules
关于amazon-elastic-beanstalk - Elastic Beanstalk 找不到 server.js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59607944/
我正在尝试将我的应用程序上载到Elastic Beanstalk,但是在节点预gyp安装--fallback-to-build上,npm安装失败。我尝试了各种版本的节点,但无济于事。似乎正在尝试获取一
设置 Elastic Beanstalk 的配置时,我没有获得解决方案堆栈的任何选项。 以下是有问题的行: `Select a solution stack. Available solution s
我正在尝试自定义 beanstalk 的默认 AMI,但每次我都会在一段随机时间后服务器重新启动。我什至没有改变任何东西,但没有任何效果。 我尝试过以下方法: 找到运行beanstalk的实例,创建A
我正在尝试使用sudo pip install awsebcli在新的Ubuntu 14.04(在Windows的Linux子系统上)上安装Elastic Beanstalk CLI(awsebcli
Amazon Beanstalk 是否会自动防止(分布式)拒绝服务攻击?如果没有,最方便的方法是什么? 最佳答案 我相信它会 New – AWS Shield AWS Shield is a new
每当我在 Elastic Beanstalk 中创建新环境时,我都会手动配置自定义 AMI ID、SNS 通知等,但我想自动完成,即,将设置(自定义 AMI ID、SNS、 key 对等)保存到一个配
我已使用以下方法连接到 Elastic Beanstalk: eb ssh XXXXXX --profile=xx 现在我想将一个文件复制到我的本地机器上,我该怎么做? 最佳答案 找出与 scp 一起
对于典型的 Java Web 应用程序,使用 Elastic Beanstalk 相对于手动创建 EC2 实例、设置 tomcat 服务器和部署等有哪些优势?负载平衡、监控和自动缩放是唯一的优势吗?
我有一个运行 PHP 的弹性 beanstalk 环境。在我的项目中,我有一个 .ebextensions 文件夹和一个名为“15-memorymonitor.config”的文件,其中包含以下内容;
我有 “更新”:Dockerrun.aws.json 中的“真” 当我更新 ECR 中的图像时,它应该自动更新 EC2 iontance 中的图像和容器。 但是当我在推送新图像后通过 ssh 进入实例
我有一个定义 Elastic Beanstalk 应用程序的 CloudFormation 模板。 我想扩展这个应用程序,即我希望端口 80 上的监听器重定向到 HTTPS。 AWS::Elastic
我在使用自定义 .ebextensions 文件部署 EB 实例时遇到问题。这是该文件中的相关部分: container_commands: 01_migrate: command: 'p
我已经使用带负载均衡器的 Elastic Beanstalk 创建了一个环境,并在各自的配置中分配了所有健康检查值 我也为ELB设置了应用健康检查url 但是当我检查自动缩放组配置时,健康检查类型是
我正在尝试部署我的 角申请通过GitHub Actions到 Elastic Beanstalk 。我正在使用这个 GitHub actions用于部署到 ELB。 我的问题是,部署失败,因为 ELB
我已阅读有关 Deploying Versions with Zero Downtime 的 AWS 文档,又名 CNAME 交换。 如 yegor256在 this answer 中有解释: The
我有一个弹性 beanstalk 设置,但无法访问环境中列出的 url,而如果我指向负载均衡器的 url,我可以访问它。 有什么建议吗? 最佳答案 将 LoadBalancer 安全组附加到实例。对我
我正在使用 AWS Elastic beanstalk 并希望为不同的环境配置不同的 ENV 变量。我发现的唯一方法是使用 ebextensions,但如果我将同一个数据包部署到多个环境,则无法覆盖在
我有一个应用程序,其中包含 nodejs 和 php 代码。 nodejs 用于运行应用程序所需的几个脚本。我如何使用 aws Elastic beanstalk 部署此类应用程序? 最佳答案 有两种
我今天遇到一个关于 Amazon Elastick BeanStalk 的奇怪问题:对于我的实例,我无法上传应用程序: XXX@-Vostro-2520:~/git_projects/ProjectB
我不断收到以下消息。但是在我的 nginx 日志中没有任何内容表明返回的请求状态为 5xx。此外,应用程序似乎按预期工作。我可能会得到这些的任何指示? 留言: Environment health h
我是一名优秀的程序员,十分优秀!