0.0.0 • Published 6 months ago
@dmoove/cdk-gitlab-runner v0.0.0
@yanu23/cdk-gitlab-runner
Deploy GitLab runners on AWS with AWS CDK.
Prerequisites
- Node.js 22 LTS
- AWS CDK v2
Installation
npm install @dmoove/cdk-gitlab-runnerExample
import { App, Stack } from 'aws-cdk-lib';
import { GitLabRunner, DockerExecutorType } from '@yanu23/cdk-gitlab-runner';
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
import {
InstanceClass,
InstanceSize,
InstanceType,
MachineImage,
Vpc,
} from 'aws-cdk-lib/aws-ec2';
const app = new App();
const stack = new Stack(app, 'stack');
const token = Secret.fromSecretNameV2(stack, 'token', 'gitlab-runner-token');
const vpc = Vpc.fromLookup(stack, 'vpc', { isDefault: true });
const runner = new GitLabRunner(stack, 'GitLabRunner', {
runnerConfig: {
token,
concurrent: 4,
},
});
runner.addDockerExecutor(DockerExecutorType.SINGLE_INSTANCE, {
instanceType: InstanceType.of(InstanceClass.T3A, InstanceSize.MEDIUM),
machineImage: MachineImage.latestAmazonLinux2023(),
vpc,
});Development
After cloning run npm install once to create node_modules.
Use Node.js 22 (for example with nvm use 22) before running commands.
Run format, lint, tests and build before committing:
npm run format
npm run lint
npm test
npm run buildUse npm run lint:fix to automatically fix lint issues.
Generate API docs with npm run docgen (uses Typedoc).
Create a release entry using npx changeset and run npm run version to bump versions.
Publishing is handled by GitHub Actions on merges to main.
0.0.0
6 months ago