将 CircleCi 环境变量用于 aws access/secret 键
Using CircleCi environment variables for aws access/secret keys
我为 post 文档创建了一个简单的 API 测试。端点需要使用 AWS 访问和密钥进行身份验证。这是我的 API 测试代码。
public static async Task<HttpResponseMessage> PostRequest(string requestUrl, dynamic json = null, byte[] file = null)
{
var credentials = new ImmutableCredentials(accessKey, secretKey, null);
var url= url.SetQueryParams(json);
var httpContent = new ByteArrayContent(file );
var response = await client.PostAsync(
postUrl,
httpContent,
regionName: regionName,
serviceName: serviceName,
credentials: credentials);
return response;
}
目前这些凭据是硬编码的(我知道这不是很好)。在我的 CI 管道中,我使用的是 CircleCi,并将我的 AWS 密钥存储在环境变量部分中。我现在的问题是如何访问这些变量并将其实现到我的测试代码中?
关于我正在尝试做的事情的想法是,我不想在源代码管理中对我的 AWS 密钥进行硬编码。
我使用circleci,但我不使用dot.net。
我已将 AWS 凭证添加为 circleci 项目的环境变量。在那之后,我不包括我的 nodejs 代码的凭据部分。 aws-sdk
for nodejs
将使用环境变量来获取凭据。我相信基于 dot.net 的应用程序的行为也应该相同。
希望对您有所帮助。
参考:
您可以使用 CircleCI context 存储 AWS 密钥,然后在 CircleCI 配置中指定上下文。它将阻止将它们保留在代码中。
我为 post 文档创建了一个简单的 API 测试。端点需要使用 AWS 访问和密钥进行身份验证。这是我的 API 测试代码。
public static async Task<HttpResponseMessage> PostRequest(string requestUrl, dynamic json = null, byte[] file = null)
{
var credentials = new ImmutableCredentials(accessKey, secretKey, null);
var url= url.SetQueryParams(json);
var httpContent = new ByteArrayContent(file );
var response = await client.PostAsync(
postUrl,
httpContent,
regionName: regionName,
serviceName: serviceName,
credentials: credentials);
return response;
}
目前这些凭据是硬编码的(我知道这不是很好)。在我的 CI 管道中,我使用的是 CircleCi,并将我的 AWS 密钥存储在环境变量部分中。我现在的问题是如何访问这些变量并将其实现到我的测试代码中?
关于我正在尝试做的事情的想法是,我不想在源代码管理中对我的 AWS 密钥进行硬编码。
我使用circleci,但我不使用dot.net。
我已将 AWS 凭证添加为 circleci 项目的环境变量。在那之后,我不包括我的 nodejs 代码的凭据部分。 aws-sdk
for nodejs
将使用环境变量来获取凭据。我相信基于 dot.net 的应用程序的行为也应该相同。
希望对您有所帮助。
参考:
您可以使用 CircleCI context 存储 AWS 密钥,然后在 CircleCI 配置中指定上下文。它将阻止将它们保留在代码中。