A Gitlab Runner JSII construct lib for AWS CDK
Project description
Welcome to cdk-gitlab-runner
This repository template helps you create gitlab runner on your aws account via AWS CDK one line.
Note
Default will help you generate below services:
-
VPC
- Public Subnet (2)
-
EC2 (1 T3.large)
Before start you need gitlab runner token in your gitlab project
or gitlab group
In Group
Group > Settings > CI/CD
In Group
Project > Settings > CI/CD > Runners
Usage
Replace your gitlab runner token in $GITLABTOKEN
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize
from aws_cdk.aws_iam import ManagedPolicy
# If want change instance type to t3.large .
GitlabContainerRunner(stack, "testing", gitlabtoken="$GITLABTOKEN", ec2type=InstanceType.of(InstanceClass.T2, InstanceSize.LARGE))
# OR
# Just create a gitlab runner , by default instance type is t3.small .
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize
from aws_cdk.aws_iam import ManagedPolicy
GitlabContainerRunner(stack, "testing", gitlabtoken="$GITLABTOKEN")
# If want change tags you want.
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize
from aws_cdk.aws_iam import ManagedPolicy
GitlabContainerRunner(stack, "testing-have-type-tag", gitlabtoken="GITLABTOKEN", tag1="aa", tag2="bb", tag3="cc")
# If you want add runner other IAM Policy like s3-readonly-access.
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize
from aws_cdk.aws_iam import ManagedPolicy
runner = GitlabContainerRunner(stack, "testing-have-type-tag", gitlabtoken="GITLABTOKEN", tag1="aa", tag2="bb", tag3="cc")
runner.runner_role.add_managed_policy(ManagedPolicy.from_aws_managed_policy_name("AmazonS3ReadOnlyAccess"))
# If you want add runner other SG Ingress .
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize, Port, Peer
from aws_cdk.aws_iam import ManagedPolicy
runner = GitlabContainerRunner(stack, "testing-have-type-tag", gitlabtoken="GITLABTOKEN", tag1="aa", tag2="bb", tag3="cc")
runner.runner_role.add_managed_policy(ManagedPolicy.from_aws_managed_policy_name("AmazonS3ReadOnlyAccess"))
#youcanaddingress in yourrunnerSG.runner.runne_ec2.connections.allow_from(Peer.ipv4("0.0.0.0/0"), Port.tcp(80))
# Example python instance type change to t3.small .
from aws_cdk import (
core,
aws_iam as iam,
)
from cdk_gitlab_runner import GitlabContainerRunner
from aws_cdk.aws_ec2 import InstanceType, InstanceClass, InstanceSize, Peer, Port
runner = GitlabContainerRunner(self, 'gitlab-runner', gitlabtoken='$GITLABTOKEN',
ec2type=InstanceType.of(
instance_class=InstanceClass.BURSTABLE3, instance_size=InstanceSize.SMALL), tag1='aa',tag2='bb',tag3='cc')
runner.runner_role.add_managed_policy(iam.ManagedPolicy.from_aws_managed_policy_name("AmazonS3ReadOnlyAccess"))
runner.runne_ec2.connections.allow_from(Peer.ipv4('0.0.0.0/0'), Port.tcp(80));
see more instance class and size
Wait about 6 mins , If success you will see your runner in that page .
you can use tag gitlab
, runner
, awscdk
,
Example gitlab-ci.yaml
dockerjob:
image: docker:18.09-dind
variables:
tags:
- runner
- awscdk
- gitlab
variables:
DOCKER_TLS_CERTDIR: ""
before_script:
- docker info
script:
- docker info;
- echo 'test 123';
- echo 'hello world 1228'
If your want to debug you can go to aws console
In your runner region !!!
AWS Systems Manager > Session Manager > Start a session
click your runner
and click start session
in the brower console in put bash
# become to root
sudo -i
# list runner container .
root# docker ps -a
# modify gitlab-runner/config.toml
root# cd /home/ec2-user/.gitlab-runner/ && ls
config.toml
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cdk-gitlab-runner-1.46.2.tar.gz
(597.2 kB
view hashes)
Built Distribution
Close
Hashes for cdk_gitlab_runner-1.46.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b8e196b0b09250a62da495645ec633cc199432688a5746d0abd65dc632f25fb |
|
MD5 | 805126f38105686e8709f193c2dc8e97 |
|
BLAKE2b-256 | bae3ff6b394f54c1193c3790fb6cbf93e94eca398ab10b49103994603e6c7a24 |