CodeBuild examples using SDK for JavaScript (v3) (original) (raw)
Create a project.
import {
ArtifactsType,
CodeBuildClient,
ComputeType,
CreateProjectCommand,
EnvironmentType,
SourceType,
} from "@aws-sdk/client-codebuild";
// Create the AWS CodeBuild project.
export const createProject = async (
projectName = "MyCodeBuilder",
roleArn = "arn:aws:iam::xxxxxxxxxxxx:role/CodeBuildAdmin",
buildOutputBucket = "xxxx",
githubUrl = "https://...",
) => {
const codeBuildClient = new CodeBuildClient({});
const response = await codeBuildClient.send(
new CreateProjectCommand({
artifacts: {
// The destination of the build artifacts.
type: ArtifactsType.S3,
location: buildOutputBucket,
},
// Information about the build environment. The combination of "computeType" and "type" determines the
// requirements for the environment such as CPU, memory, and disk space.
environment: {
// Build environment compute types.
// https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html
computeType: ComputeType.BUILD_GENERAL1_SMALL,
// Docker image identifier.
// See https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
image: "aws/codebuild/standard:7.0",
// Build environment type.
type: EnvironmentType.LINUX_CONTAINER,
},
name: projectName,
// A role ARN with permission to create a CodeBuild project, write to the artifact location, and write CloudWatch logs.
serviceRole: roleArn,
source: {
// The type of repository that contains the source code to be built.
type: SourceType.GITHUB,
// The location of the repository that contains the source code to be built.
location: githubUrl,
},
}),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: 'b428b244-777b-49a6-a48d-5dffedced8e7',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// project: {
// arn: 'arn:aws:codebuild:us-east-1:xxxxxxxxxxxx:project/MyCodeBuilder',
// artifacts: {
// encryptionDisabled: false,
// location: 'xxxxxx-xxxxxxx-xxxxxx',
// name: 'MyCodeBuilder',
// namespaceType: 'NONE',
// packaging: 'NONE',
// type: 'S3'
// },
// badge: { badgeEnabled: false },
// cache: { type: 'NO_CACHE' },
// created: 2023-08-18T14:46:48.979Z,
// encryptionKey: 'arn:aws:kms:us-east-1:xxxxxxxxxxxx:alias/aws/s3',
// environment: {
// computeType: 'BUILD_GENERAL1_SMALL',
// environmentVariables: [],
// image: 'aws/codebuild/standard:7.0',
// imagePullCredentialsType: 'CODEBUILD',
// privilegedMode: false,
// type: 'LINUX_CONTAINER'
// },
// lastModified: 2023-08-18T14:46:48.979Z,
// name: 'MyCodeBuilder',
// projectVisibility: 'PRIVATE',
// queuedTimeoutInMinutes: 480,
// serviceRole: 'arn:aws:iam::xxxxxxxxxxxx:role/CodeBuildAdmin',
// source: {
// insecureSsl: false,
// location: 'https://...',
// reportBuildStatus: false,
// type: 'GITHUB'
// },
// timeoutInMinutes: 60
// }
// }
return response;
};
- For more information, see AWS SDK for JavaScript Developer Guide.
- For API details, seeCreateProject in AWS SDK for JavaScript API Reference.