gpt4 book ai didi

node.js - Bitbucket 管道,在 NodeJS 脚本中使用 ENV VARS 部署到 S3 Deploy

转载 作者:太空宇宙 更新时间:2023-11-03 23:22:50 25 4
gpt4 key购买 nike

现在我有一个 bitbucket 管道,只需一个步骤就可以很好地工作,如下所示:
( options: docker: true )

- docker build --rm -f Dockerfile-deploy ./ -t deploy --build-arg AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID --build-arg AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY

这会设置 Docker 容器中的 key ,然后使用 bash 脚本和要提交的 AWS-CLI 将其部署到 ELB,因此我实际上并没有尝试公开环境变量,而是 eb deploy当然可以并且有效。

尝试使用 image: node:latest 运行管道时以及步骤

- npm i
- npm run build ( Babel transpile )
- npm run deploy ( node script to send to S3 )

最后一步,我需要 Node 脚本来访问我添加到 bitbucket repo pipelines 配置中的环境变量,而不是获取该变量的命名变量表示:

// NodeJS Config File
module.exports = {
AWS_S3_BUCKET : process.env.AWS_S3_BUCKET || undefined,
AWS_ACCESS_KEY : process.env.AWS_ACCESS_KEY || undefined,
AWS_ACCESS_SECRET : process.env.AWS_ACCESS_SECRET || undefined,
}

-

// NodeJS deploy file... parts
const aws = {
params: {
Bucket: config.AWS_S3_BUCKET
},
accessKeyId: config.AWS_ACCESS_KEY,
secretAccessKey: config.AWS_ACCESS_SECRET,
distributionId: config.CLOUDFRONT_DISTRIBUTION_ID,
region: "us-east-1"
}
console.log('-----START AWS-----')
console.log(aws)
console.log('------END AWS------')

然后,bitbucket 管道将其回显到 console.logs

-----START AWS-----
{ params: { Bucket: '$AWS_S3_BUCKET' },
accessKeyId: '$AWS_ACCESS_KEY',
secretAccessKey: '$AWS_ACCESS_SECRET',
distributionId: '$CLOUDFRONT_DISTRIBUTION_ID',
region: 'us-east-1' }
------END AWS------

有什么想法吗?

最佳答案

我的问题是,我从 AWS 复制粘贴变量,并带有尾随空格...这是一个字符,但肯定不在预期的 secret 或 key 字符串中。哎呀

关于node.js - Bitbucket 管道,在 NodeJS 脚本中使用 ENV VARS 部署到 S3 Deploy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914687/

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