Skip to content
GitHubXDiscord

SourceCredential

The SourceCredential resource allows you to create, update, and manage credentials that AWS CodeBuild uses to access source code repositories. This can include GitHub, Bitbucket, and other supported source providers. For more information, refer to the AWS CodeBuild SourceCredentials documentation.

Create a basic SourceCredential with the required properties and a common optional username.

import AWS from "alchemy/aws/control";
const basicSourceCredential = await AWS.CodeBuild.SourceCredential("basicSourceCredential", {
ServerType: "GitHub",
Username: "myGitHubUser",
Token: alchemy.secret(process.env.GITHUB_TOKEN!),
AuthType: "personal_access_token"
});

Configure a SourceCredential for Bitbucket with an authentication type and an adoption flag.

const advancedSourceCredential = await AWS.CodeBuild.SourceCredential("advancedSourceCredential", {
ServerType: "Bitbucket",
Username: "myBitbucketUser",
Token: alchemy.secret(process.env.BITBUCKET_TOKEN!),
AuthType: "personal_access_token",
adopt: true // If true, adopt existing resource instead of failing when resource already exists
});

Create multiple SourceCredentials for different source providers to manage access in a single project.

const githubSourceCredential = await AWS.CodeBuild.SourceCredential("githubSourceCredential", {
ServerType: "GitHub",
Username: "myGitHubUser",
Token: alchemy.secret(process.env.GITHUB_TOKEN!),
AuthType: "personal_access_token"
});
const bitbucketSourceCredential = await AWS.CodeBuild.SourceCredential("bitbucketSourceCredential", {
ServerType: "Bitbucket",
Username: "myBitbucketUser",
Token: alchemy.secret(process.env.BITBUCKET_TOKEN!),
AuthType: "personal_access_token"
});

Dynamically manage tokens for different environments by using secrets stored in your environment variables.

const stagingSourceCredential = await AWS.CodeBuild.SourceCredential("stagingSourceCredential", {
ServerType: "GitHub",
Username: "myGitHubUser",
Token: alchemy.secret(process.env.STAGING_GITHUB_TOKEN!),
AuthType: "personal_access_token"
});
const productionSourceCredential = await AWS.CodeBuild.SourceCredential("productionSourceCredential", {
ServerType: "Bitbucket",
Username: "myBitbucketUser",
Token: alchemy.secret(process.env.PRODUCTION_BITBUCKET_TOKEN!),
AuthType: "personal_access_token"
});