我是 aws 的新手,我正在尝试创建一个管道。但是一旦构建,它就会出现此错误
[Container] 2020/05/23 04:32:56 Phase context status code: Decrypted Variables Error Message: parameter does not exist: JWT_SECRET
即使令牌是通过运行此命令存储的
s ssm put-parameter --name JWT_SECRET --value "myjwtsecret" --type SecureString
我试图通过在发布构建命令buildspec.yml
添加此行来解决此问题。 但仍然没有解决问题
- kubectl set env deployment/simple-jwt-api JWT_SECRET=$JWT_SECRET
我的buildspec.yml
包含此添加的行,以配置将我的 jwt 密钥传递到应用程序
env:
parameter-store:
JWT_SECRET: JWT_SECRET
检查我的 github 存储库以获取有关代码的更多详细信息
另外,一旦我在cmd下运行它以测试api端点kubectl get services simple-jwt-api -o wide
我就收到了此错误
Error from server (NotFound): services "simple-jwt-api" not found
嗯,很明显,因为管道未能构建。请问我该如何解决?
就我而言,当我在与集群不同的区域中创建堆栈时,我会出现此错误。因此,每当它搜索变量时,它都找不到它。因此,请注意在每个创建操作:)中指向同一区域。
我发现的最佳解决方案是在声明 env 变量时添加一个区域标签。
aws ssm put-parameter --name JWT_SECRET --value "myjwtsecret" --type SecureString --region <your-cluster-region>
我也遇到了同样的问题,
更改buildspec.yml文件中的kubectl 版本对我有用
- curl -LO https://dl.k8s.io/release/v<YOUR_KUBERNETES_VERSION>/bin/linux/amd64/kubectl
# Download the kubectl checksum file
- curl -LO "https://dl.k8s.io/v<YOUR_KUBERNETES_VERSION>/bin/linux/amd64/kubectl.sha256"
请注意,<<strong>YOUR_KUBERNETES_VERSION>必须与您创建的群集仪表板上的内容相同。