-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path.gitlab-ci.yml
80 lines (72 loc) · 2.09 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
before_script:
- apk add --update --no-cache curl git docker jq py3-configobj py3-pip py3-setuptools python3 python3-dev
- pip install awscli
- go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login
- mkdir -p /root/.docker
- echo "{ \"credsStore\":\"ecr-login\" }" > /root/.docker/config.json
ansible-2.9:
extends: .template
variables:
AWS_REGION: "us-east-1"
ANSIBLE_VERSION: "2.9.*"
MOLECULE_VERSION: "3.*"
ANSIBLE_LINT_VERSION: "5.*"
TAG: "ansible-2.9"
ansible-5:
extends: .template
variables:
ANSIBLE_VERSION: "5.*"
MOLECULE_VERSION: "3.*"
ANSIBLE_LINT_VERSION: "5.*"
TAG: "ansible-5"
ansible-6:
extends: .template
variables:
ANSIBLE_VERSION: "6.*"
MOLECULE_VERSION: "4.*"
ANSIBLE_LINT_VERSION: "6.*"
TAG: "ansible-6"
ansible-2.9 deploy:
extends: .template_deploy
variables:
ANSIBLE_VERSION: "2.9.*"
MOLECULE_VERSION: "3.*"
ANSIBLE_LINT_VERSION: "5.*"
TAG: "ansible-2.9"
ansible-5 deploy:
extends: .template_deploy
variables:
ANSIBLE_VERSION: "5.*"
MOLECULE_VERSION: "3.*"
ANSIBLE_LINT_VERSION: "5.*"
TAG: "ansible-5"
ansible-6 deploy:
extends: .template_deploy
variables:
ANSIBLE_VERSION: "6.*"
MOLECULE_VERSION: "4.*"
ANSIBLE_LINT_VERSION: "6.*"
TAG: "ansible-6"
.template:
image: golang:alpine3.13
variables:
REPOSITORY_URL: $AWS_ECR_REPO/docker-ansible-ci
script:
- docker build -t $REPOSITORY_URL:$TAG --build-arg ANSIBLE_VERSION=$ANSIBLE_VERSION --build-arg MOLECULE_VERSION=$MOLECULE_VERSION --build-arg ANSIBLE_LINT_VERSION=$ANSIBLE_LINT_VERSION .
- docker image ls
tags:
- aws
except:
- master
.template_deploy:
image: golang:alpine3.13
variables:
REPOSITORY_URL: $AWS_ECR_REPO/docker-ansible-ci
script:
- docker build -t $REPOSITORY_URL:$TAG --build-arg ANSIBLE_VERSION=$ANSIBLE_VERSION --build-arg MOLECULE_VERSION=$MOLECULE_VERSION --build-arg ANSIBLE_LINT_VERSION=$ANSIBLE_LINT_VERSION .
- docker image ls
- docker push $REPOSITORY_URL:$TAG
tags:
- aws
only:
- master