CI/CD - CodeBuild + CodeDeploy + CodePipeline

This commit is contained in:
Zakaria
2026-10-01 09:18:04 -04:00
parent aa02cdb7f6
commit 7f0d707578
41 changed files with 1817 additions and 78 deletions
@@ -0,0 +1,43 @@
import type {FieldSchema, ServiceSchema, TableColumnSchema} from './types'
const projectColumns: TableColumnSchema[] = [
{name: 'name', label: 'Name'},
{name: 'environmentType', label: 'Environment', path: 'metadata.environmentType', format: 'badge'},
{name: 'computeType', label: 'Compute', path: 'metadata.computeType', format: 'badge'},
{name: 'createdAt', label: 'Created', format: 'datetime'},
]
const projectFilters: FieldSchema[] = [{name: 'search', label: 'Search', type: 'text', required: false}]
/** The console exposes only source and artifact modes the local runtime can execute. */
export function awsCodeBuildSchema(): ServiceSchema {
return {
cloud: 'aws',
service: 'codebuild',
displayName: 'AWS CodeBuild',
fields: [
{name: 'name', label: 'Project name', type: 'text', required: true, group: 'Required'},
{name: 'serviceRole', label: 'Service role ARN', type: 'text', required: true, group: 'Required'},
{
name: 'environmentImage', label: 'Environment image', type: 'text', required: false, group: 'Environment',
defaultValue: 'aws/codebuild/standard:7.0',
description: 'AWS CodeBuild managed image identifier.',
},
{
name: 'computeType', label: 'Compute type', type: 'select', required: true, group: 'Environment', defaultValue: 'BUILD_GENERAL1_SMALL',
options: [{label: 'General 1 small', value: 'BUILD_GENERAL1_SMALL'}],
},
],
actions: ['list', 'create', 'delete', 'inspect'],
capabilities: {
resourceActions: [
{name: 'list', label: 'List projects', enabled: true, status: 'available', runtimeRequired: true},
{name: 'inspect', label: 'Inspect project', enabled: true, status: 'available', runtimeRequired: true},
{name: 'create', label: 'Create project', enabled: true, status: 'available', runtimeRequired: true},
{name: 'delete', label: 'Delete project', enabled: true, status: 'available', runtimeRequired: true},
],
},
filters: projectFilters,
columns: projectColumns,
}
}