gpt4 book ai didi

node.js - 从 gitlab 管道将 Node.js 应用程序部署到 AWS EB 时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:53 26 4
gpt4 key购买 nike

我在 gitlab 上托管了一个现有的 node.js 应用程序。我尝试使用 gitlab 的 ci/cd 并创建 gitlab-ci.yml 。有 3 个阶段,即 buildtestdeploy,前两个阶段实际上有效,但将其部署到 aws elastic beanstalk 时出现错误管道说...

ERROR: This directory has not been set up with the EB CLI
You must first run "eb init".
ERROR: Job failed: exit code 1

希望你能帮助我解决我的问题:(

这是我的部署阶段的示例配置:

  deploy_aws:
stage: deploy
image: coxauto/aws-ebcli
script:
- mkdir ~/.aws
- touch ~/.aws/config
- chmod 600 ~/.aws/config
- echo "[profile eb-cli]" >> ~/.aws/config
- echo "aws_access_key_id=${AWS_ACCESS_KEY_ID}" >> ~/.aws/config
- echo "aws_secret_access_key=${AWS_SECRET_ACCESS_KEY}" >> ~/.aws/config
- git checkout master
- eb deploy sample-sails-app-dev

AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 在我的 gitlab 的 ci/cd 变量中声明。

最佳答案

AWS 访问 key 和 key 存储在名为凭证的文件中。 (~/.aws/credentials)。

配置文件具有 AWS 区域和 cli 输出格式 (json) 等默认设置

[default]
region = us-east-1
output = json

凭证文件具有访问权限和 secret ID

[default]
aws_access_key_id = xx
aws_secret_access_key = xxx

因此,在部署脚本中将配置目录更改为凭据

- echo "aws_access_key_id=${AWS_ACCESS_KEY_ID}" >> ~/.aws/credentials

关于node.js - 从 gitlab 管道将 Node.js 应用程序部署到 AWS EB 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56141160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com