其他

AWS CodeBuild

AWS CodeBuild是一项完全托管的云端构建服务,可编译源代码、运行单元测试并生成可部署的制品。它无需用户自行配置、管理或扩展构建服务器,提供预打包的构建环境,支持持续集成和交付。

查看官方文档 ↗

接入教程

1. 在AWS控制台创建CodeBuild项目。
2. 配置源代码位置(如GitHub)。
3. 选择构建环境(如操作系统、运行时)。
4. 指定构建命令(如编译、测试)。
5. 设置输出制品存储位置(如S3)。
6. 手动触发构建或配置自动化触发。

使用Python启动AWS CodeBuild项目

python
import boto3

client = boto3.client('codebuild', region_name='us-east-1')

response = client.start_build(
    projectName='my-build-project',
    sourceVersion='main',
    environmentVariablesOverride=[
        {
            'name': 'ENV_VAR',
            'value': 'test_value',
            'type': 'PLAINTEXT'
        }
    ]
)

print(f'Build started with ID: {response["build"]["id"]}')

使用PHP查询AWS CodeBuild构建状态

php
<?php
require 'vendor/autoload.php';

use Aws\CodeBuild\CodeBuildClient;
use Aws\Exception\AwsException;

$client = new CodeBuildClient([
    'region' => 'us-east-1',
    'version' => 'latest'
]);

try {
    $result = $client->batchGetBuilds([
        'ids' => ['build-id-123']
    ]);
    
    $build = $result['builds'][0];
    echo 'Build Status: ' . $build['buildStatus'] . PHP_EOL;
    echo 'Current Phase: ' . $build['currentPhase'] . PHP_EOL;
} catch (AwsException $e) {
    echo 'Error: ' . $e->getMessage() . PHP_EOL;
}
?>

使用JavaScript列出AWS CodeBuild项目

javascript
const AWS = require('aws-sdk');

AWS.config.update({ region: 'us-east-1' });
const codebuild = new AWS.CodeBuild();

async function listProjects() {
    try {
        const data = await codebuild.listProjects({}).promise();
        console.log('Available projects:');
        data.projects.forEach(project => {
            console.log(`- ${project}`);
        });
    } catch (error) {
        console.error('Error listing projects:', error);
    }
}

listProjects();

常见问题

AWS CodeBuild支持哪些源代码仓库?

AWS CodeBuild支持多种源代码仓库,包括AWS CodeCommit、GitHub、GitHub Enterprise、Bitbucket和Amazon S3。您可以在构建配置中指定源代码位置和版本。

如何设置构建超时时间?

在CodeBuild项目配置中,您可以设置构建超时时间(默认为60分钟),最大可设置为480分钟(8小时)。超时后构建将自动终止。

构建环境如何选择?

AWS CodeBuild提供多种预配置的构建环境,包括不同版本的Ubuntu、Amazon Linux和Windows Server,并预装了各种编程语言和工具。您可以根据项目需求选择合适的镜像。

相似接口推荐

AWS SSO Identity Store

AWS SSO Identity Store是AWS IAM Identity Center(原AWS单点登录)使用的身份存储服务,提供一个统一的位置检索所有身份信息(用户和群组)。该服务简化了身份管理流程,帮助集中管理

待确认
Amazon Honeycode

Amazon Honeycode是一项全托管服务,让您无需编程即可快速为团队构建移动和Web应用。可用于管理项目、客户、运营、审批、资源乃至团队协作等各类事务。

待确认
AWS Glue

AWS Glue 是一项完全托管的提取、转换和加载(ETL)服务,可简化数据准备和集成工作。它自动发现、编目数据,并支持在数据湖和数据仓库之间进行ETL操作。

待确认
亚马逊Glacier

亚马逊S3 Glacier(简称Glacier)是一款针对“冷数据”的存储解决方案。这项超低成本的存储服务为数据备份和归档提供安全、持久且易于使用的存储方案。用户可经济高效地存储数据数月、数年甚至数十年。

待确认