放大初始化(无头)总是推送到 aws

amplify init (headless) always pushes to aws

我正在尝试 amplify init in jenkins 工作。所以这需要无头地完成。 从 code repo

中汲取灵感

我已经准备好这个代码

# #!/bin/bash
set -e
IFS='|'
AWSCLOUDFORMATIONCONFIG="{\
\"configLevel\":\"general\",\
\"useProfile\":false,\
\"accessKeyId\":\"${AWS_ACCESS_KEY_ID}\",\
\"secretAccessKey\":\"${AWS_SECRET_ACCESS_KEY}\",\
\"region\":\"${region}\"\
}"

AMPLIFY="{\"envName\":\"${AMPLIFY_ENV}\", \"defaultEditor\":\"code\"}"
PROVIDERS="{\"awscloudformation\":$AWSCLOUDFORMATIONCONFIG}"

echo 'Initializing Amplify'
amplify init \
--amplify $AMPLIFY \
--providers $PROVIDERS \
--yes
echo 'Amplify Initialized'

问题是从控制台执行 amplify init 不会将资源推送到云端。 但采用 amplify init(无头)方式。即使使用现有环境,每个更改都会被推送到云端。

我试图将它实现到 create/generate API.service.ts 文件中,这样我的团队就不必将它包含在存储库中。

--yes 是问题所在。

这有效

# #!/bin/bash
set -e
IFS='|'
AWSCLOUDFORMATIONCONFIG="{\
\"configLevel\":\"general\",\
\"useProfile\":false,\
\"accessKeyId\":\"${AWS_ACCESS_KEY_ID}\",\
\"secretAccessKey\":\"${AWS_SECRET_ACCESS_KEY}\",\
\"region\":\"${region}\"\
}"

AMPLIFY="{\"envName\":\"${AMPLIFY_ENV}\", \"defaultEditor\":\"code\"}"
PROVIDERS="{\"awscloudformation\":$AWSCLOUDFORMATIONCONFIG}"

echo 'Initializing Amplify'
amplify init \
--amplify $AMPLIFY \
--providers $PROVIDERS
echo 'Amplify Initialized'