Compare commits
60 Commits
Author | SHA1 | Date | |
---|---|---|---|
cce376cc4b
|
|||
f719b7ade3
|
|||
66b678830e
|
|||
641bd93f93 | |||
9c948d5788
|
|||
f15e77fb88
|
|||
12fe4cf41a
|
|||
39c7266b49
|
|||
e854da83ca
|
|||
61bcffed6a | |||
d07b70a09f
|
|||
d6a66a4e8f
|
|||
d661d20093
|
|||
da6b0189ce
|
|||
fb3a10a4d3
|
|||
9245bc02a6
|
|||
974e29e405
|
|||
5c06f04f69
|
|||
c2252c72f0
|
|||
6bf134506d
|
|||
8bafe97a18
|
|||
3728e4d4d2
|
|||
d4b71fcddc | |||
29a5ac9221
|
|||
f6128fe7cf
|
|||
223a3ae308
|
|||
15a8a45e2b
|
|||
ce806504b2
|
|||
3c8c7ff231
|
|||
1b737ed6c0
|
|||
3c86f057c2
|
|||
f32f612663
|
|||
6a70e27815
|
|||
7f0b1a8120
|
|||
791befff92
|
|||
dcfb812e91
|
|||
ab09084d29
|
|||
15eb28ebc7
|
|||
b83d7d1d80
|
|||
6f197f959a
|
|||
157146ffb8
|
|||
1ff195e546
|
|||
35c80963b3 | |||
43623da900 | |||
74ced09e91 | |||
58c2f3da3f | |||
c83c16211d | |||
f7b497bfc4 | |||
e312aac855 | |||
a8b69e8750 | |||
b003743058 | |||
beb79f4b87 | |||
e4eaf6b298 | |||
e91f74e2ba | |||
d8e7aed134
|
|||
10e594b29b
|
|||
2612d77af0 | |||
8e3863ca2c | |||
26eeda67d1 | |||
d0351f79ff |
55
.drone.star
Normal file
55
.drone.star
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
|
||||||
|
def main(ctx):
|
||||||
|
return [
|
||||||
|
pipeline("debian", ["ubuntu-22.04", "ubuntu-20.04"]),
|
||||||
|
pipeline("rhel", ["fedora-34", "fedora-35"]),
|
||||||
|
]
|
||||||
|
|
||||||
|
def generateStep(tag):
|
||||||
|
return {
|
||||||
|
"name": "build-" + tag,
|
||||||
|
"image": "plugins/kaniko",
|
||||||
|
"settings": {
|
||||||
|
"dockerfile": tag + "/Dockerfile",
|
||||||
|
"password": {
|
||||||
|
"from_secret": "docker_password"
|
||||||
|
},
|
||||||
|
"username": {
|
||||||
|
"from_secret": "docker_username"
|
||||||
|
},
|
||||||
|
"repo": "lerentis/ansible",
|
||||||
|
"tags": [
|
||||||
|
tag
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"event": [
|
||||||
|
"push",
|
||||||
|
"pull_request",
|
||||||
|
"cron"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ressources": {
|
||||||
|
"limits": {
|
||||||
|
"cpu": "200",
|
||||||
|
"memory": "1024MiB"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def pipeline(group, tags):
|
||||||
|
steps = []
|
||||||
|
for tag in tags:
|
||||||
|
steps += generateStep(tag)
|
||||||
|
print(generateStep(tag))
|
||||||
|
print(steps)
|
||||||
|
return {
|
||||||
|
"kind": "pipeline",
|
||||||
|
"type": "kubernetes",
|
||||||
|
"name": "build-%s" % group,
|
||||||
|
"platform": {
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "amd64"
|
||||||
|
},
|
||||||
|
"steps": steps
|
||||||
|
}
|
828
.drone.yml
828
.drone.yml
@ -1,275 +1,837 @@
|
|||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: ansible-containers
|
type: kubernetes
|
||||||
|
name: build-debian
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
concurrency:
|
|
||||||
limit: 9
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-ubuntu-18
|
|
||||||
image: plugins/docker
|
- name: build-ubuntu-22.04
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: ubuntu-22.04/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-22.04-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-ubuntu-20.04
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: ubuntu-20.04/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-20.04-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-ubuntu-18.04
|
||||||
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-18.04/Dockerfile
|
dockerfile: ubuntu-18.04/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: ubuntu-18.04
|
tags:
|
||||||
|
- ubuntu-18.04-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-ubuntu-16
|
- name: build-ubuntu-16.04
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-16.04/Dockerfile
|
dockerfile: ubuntu-16.04/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: ubuntu-16.04
|
tags:
|
||||||
|
- ubuntu-16.04-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-ubuntu-14
|
- name: build-ubuntu-14.04
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-14.04/Dockerfile
|
dockerfile: ubuntu-14.04/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: ubuntu-14.04
|
tags:
|
||||||
when:
|
- ubuntu-14.04-dev
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: build-fedora-24
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: fedora-24/Dockerfile
|
|
||||||
dry_run: true
|
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: fedora-24
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
- pull_request
|
|
||||||
|
|
||||||
- name: build-alpine-3
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: alpine-3/Dockerfile
|
|
||||||
dry_run: true
|
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: alpine-3
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-debian-8
|
- name: build-debian-8
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: debian-8/Dockerfile
|
dockerfile: debian-8/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: debian-8
|
tags:
|
||||||
|
- debian-8-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-debian-7
|
- name: build-debian-9
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: debian-8/Dockerfile
|
dockerfile: debian-9/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: debian-7
|
tags:
|
||||||
|
- debian-9-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-debian-10
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: debian-10/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- debian-10-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-rhel
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: build-almalinux-8
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: almalinux-8/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- almalinux-8-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-centos-7
|
- name: build-centos-7
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: centos-7/Dockerfile
|
dockerfile: centos-7/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: centos-7
|
tags:
|
||||||
|
- centos-7-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-fedora-34
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-34/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-34-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-fedora-35
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-35/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-35-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-fedora-36
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-36/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-36-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-fedora-37
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-37/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-37-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-alpine
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: build-alpine-3.14
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: alpine-3.14/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- alpine-3.14-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: build-alpine-3.15
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: alpine-3.15/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- alpine-3.15-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-arch
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
- name: build-arch
|
- name: build-arch
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: arch/Dockerfile
|
dockerfile: arch/Dockerfile
|
||||||
dry_run: true
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
repo: lerentis/ansible
|
repo: lerentis/ansible
|
||||||
tag: arch
|
tags:
|
||||||
|
- arch-dev
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-ubuntu-18-publish
|
|
||||||
image: plugins/docker
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: release-debian
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: release-ubuntu-22.04
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: ubuntu-22.04/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-22.04
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-ubuntu-20.04
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: ubuntu-20.04/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-20.04
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-ubuntu-18.04
|
||||||
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-18.04/Dockerfile
|
dockerfile: ubuntu-18.04/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: ubuntu-18.04
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-18.04
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-ubuntu-16-publish
|
- name: release-ubuntu-16.04
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-16.04/Dockerfile
|
dockerfile: ubuntu-16.04/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: ubuntu-16.04
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-16.04
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-ubuntu-14-publish
|
- name: release-ubuntu-14.04
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: ubuntu-14.04/Dockerfile
|
dockerfile: ubuntu-14.04/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: ubuntu-14.04
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- ubuntu-14.04
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-fedora-24-publish
|
- name: release-debian-8
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
|
||||||
dockerfile: fedora-24/Dockerfile
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: fedora-24
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-alpine-3-publish
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: alpine-3/Dockerfile
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: alpine-3
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: build-debian-8-publish
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
settings:
|
||||||
dockerfile: debian-8/Dockerfile
|
dockerfile: debian-8/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: debian-8
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- debian-8
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-debian-7-publish
|
- name: release-debian-9
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: debian-8/Dockerfile
|
dockerfile: debian-9/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: debian-7
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- debian-9
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-centos-7-publish
|
- name: release-debian-10
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: debian-10/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- debian-10
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: release-rhel
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: release-almalinux-8
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: almalinux-8/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- almalinux-8
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-centos-7
|
||||||
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: centos-7/Dockerfile
|
dockerfile: centos-7/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: centos-7
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- centos-7
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
- name: build-arch-publish
|
- name: release-fedora-34
|
||||||
image: plugins/docker
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-34/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-34
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-fedora-35
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-35/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-35
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-fedora-36
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-36/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-36
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-fedora-37
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: fedora-37/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- fedora-37
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: release-alpine
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: release-alpine-3.14
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: alpine-3.14/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- alpine-3.14
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
- name: release-alpine-3.15
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: alpine-3.15/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- alpine-3.15
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: release-arch
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: release-arch
|
||||||
|
image: plugins/kaniko
|
||||||
settings:
|
settings:
|
||||||
dockerfile: arch/Dockerfile
|
dockerfile: arch/Dockerfile
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
repo: lerentis/ansible
|
|
||||||
tag: arch
|
|
||||||
username:
|
username:
|
||||||
from_secret: docker_username
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- arch
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: notify-build
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: appleboy/drone-telegram
|
image: appleboy/drone-telegram
|
||||||
settings:
|
settings:
|
||||||
message: "Commit {{ commit.link }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
message: "Commit {{ commit.message }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
||||||
to: 14852963
|
to:
|
||||||
token: 335668211:AAF-YgId7iI6ANBuZVy4uVOYYqA4R4uAaqY
|
from_secret: telegram_userid
|
||||||
|
token:
|
||||||
|
from_secret: telegram_secret
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- failure
|
- failure
|
||||||
- success
|
- success
|
||||||
depends_on:
|
event:
|
||||||
- build-ubuntu-18
|
- push
|
||||||
- build-ubuntu-16
|
- pull_request
|
||||||
- build-ubuntu-14
|
- cron
|
||||||
- build-fedora-24
|
depends_on:
|
||||||
- build-alpine-3
|
- build-debian
|
||||||
- build-debian-8
|
- build-rhel
|
||||||
- build-debian-7
|
- build-alpine
|
||||||
- build-centos-7
|
- build-arch
|
||||||
- build-arch
|
|
||||||
- build-ubuntu-18-publish
|
---
|
||||||
- build-ubuntu-16-publish
|
kind: pipeline
|
||||||
- build-ubuntu-14-publish
|
type: kubernetes
|
||||||
- build-fedora-24-publish
|
name: notify-release
|
||||||
- build-alpine-3-publish
|
|
||||||
- build-debian-8-publish
|
platform:
|
||||||
- build-debian-7-publish
|
os: linux
|
||||||
- build-centos-7-publish
|
arch: amd64
|
||||||
- build-arch-publish
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: notify
|
||||||
|
image: appleboy/drone-telegram
|
||||||
|
settings:
|
||||||
|
message: "Release {{ build.tag }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
||||||
|
to:
|
||||||
|
from_secret: telegram_userid
|
||||||
|
token:
|
||||||
|
from_secret: telegram_secret
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
- success
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
depends_on:
|
||||||
|
- release-debian
|
||||||
|
- release-rhel
|
||||||
|
- release-alpine
|
||||||
|
- release-arch
|
||||||
|
18
README.md
18
README.md
@ -1,6 +1,6 @@
|
|||||||
# ansible
|
# ansible
|
||||||
|
|
||||||
[](https://drone.burntbunch.org/lerentis/ansible-container)
|
[](https://drone.uploadfilter24.eu/lerentis/ansible)
|
||||||
|
|
||||||
Docker images for running and testing ansible playbooks with various operating systems.
|
Docker images for running and testing ansible playbooks with various operating systems.
|
||||||
This Project is based on this [project](https://github.com/pauvos/ansible), which seems abandoned
|
This Project is based on this [project](https://github.com/pauvos/ansible), which seems abandoned
|
||||||
@ -8,11 +8,19 @@ I don't like obfuscated Dockerfiles with external scripts and hundreds of bells
|
|||||||
|
|
||||||
Available operating systems:
|
Available operating systems:
|
||||||
|
|
||||||
* alpine-3
|
* alpine-3.14
|
||||||
|
* alpine-3.15
|
||||||
* centos-7
|
* centos-7
|
||||||
|
* almalinux-8
|
||||||
* debian-8
|
* debian-8
|
||||||
* fedora-24
|
* fedora-34
|
||||||
|
* fedora-35
|
||||||
|
* fedora-36
|
||||||
|
* fedora-37
|
||||||
* ubuntu-16.04
|
* ubuntu-16.04
|
||||||
|
* ubuntu-18.04
|
||||||
|
* ubuntu-20.04
|
||||||
|
* ubuntu-22.04
|
||||||
* arch
|
* arch
|
||||||
|
|
||||||
## run playbooks
|
## run playbooks
|
||||||
@ -67,6 +75,6 @@ Note: /root/.ansible must not be an overlayfs, otherwise ssh accelerate won't wo
|
|||||||
|
|
||||||
## references
|
## references
|
||||||
|
|
||||||
* [project](https://git.burntbunch.org/lerentis/ansible-container)
|
* [project](https://git.uploadfilter24.eu/lerentis/ansible)
|
||||||
|
|
||||||
Current Version: 0.7.2
|
Current Version: 2.0
|
||||||
|
10
almalinux-8/Dockerfile
Normal file
10
almalinux-8/Dockerfile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
FROM almalinux:8
|
||||||
|
|
||||||
|
RUN dnf -y install python3-pip epel-release \
|
||||||
|
&& dnf install -y ansible curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& touch ~/.netrc && chmod og-rw ~/.netrc \
|
||||||
|
&& pip3 install firewall
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
7
alpine-3.14/Dockerfile
Normal file
7
alpine-3.14/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM alpine:3.14
|
||||||
|
|
||||||
|
RUN apk add --no-cache ansible curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
7
alpine-3.15/Dockerfile
Normal file
7
alpine-3.15/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM alpine:3.15
|
||||||
|
|
||||||
|
RUN apk add --no-cache ansible curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
@ -1,5 +0,0 @@
|
|||||||
FROM alpine:3.4
|
|
||||||
|
|
||||||
RUN apk add --no-cache ansible
|
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
|
@ -1,5 +1,7 @@
|
|||||||
FROM archlinux/base
|
FROM archlinux:latest
|
||||||
|
|
||||||
RUN pacman -Syuu --noconfirm && pacman -S python2 ansible sshpass git python2-passlib python2-netaddr --noconfirm
|
RUN pacman -Syuu --noconfirm && pacman -S python python2 ansible sshpass git python-passlib python-netaddr curl --noconfirm \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
CMD ["ansible-playbook", "--help"]
|
||||||
|
25
build-all.sh
Normal file → Executable file
25
build-all.sh
Normal file → Executable file
@ -1,10 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cd ubuntu-18.04 && docker build -t lerentis/ansible:ubuntu-18.04 .
|
cd ubuntu-18.04 && docker buildx build -t lerentis/ansible:ubuntu-18.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ubuntu-16.04 && docker build -t lerentis/ansible:ubuntu-16.04 .
|
cd ../ubuntu-16.04 && docker buildx build -t lerentis/ansible:ubuntu-16.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ../alpine-3 && docker build -t lerentis/ansible:alpine-3 .
|
cd ../alpine-3.14 && docker buildx build -t lerentis/ansible:alpine-3.14-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ../ubuntu-14.04 && docker build -t lerentis/ansible:ubuntu-14.04 .
|
cd ../alpine-3.15 && docker buildx build -t lerentis/ansible:alpine-3.15-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ../fedora-24 && docker build -t lerentis/ansible:fedora-24 .
|
cd ../ubuntu-20.04 && docker buildx build -t lerentis/ansible:ubuntu-20.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ../debian-8 && docker build -t lerentis/ansible:debian-8 .
|
cd ../ubuntu-22.04 && docker buildx build -t lerentis/ansible:ubuntu-22.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
|
||||||
cd ../debian-7 && docker build -t lerentis/ansible:debian-7 .
|
cd ../fedora-34 && docker buildx build -t lerentis/ansible:fedora-34-dev --platform=linux/amd64 . --push
|
||||||
cd ../centos-7 && docker build -t lerentis/ansible:centos-7 .
|
cd ../fedora-35 && docker buildx build -t lerentis/ansible:fedora-35-dev --platform=linux/amd64 . --push
|
||||||
cd ../arch && docker build -t lerentis/ansible:arch .
|
cd ../fedora-36 && docker buildx build -t lerentis/ansible:fedora-36-dev --platform=linux/amd64 . --push
|
||||||
|
cd ../fedora-37 && docker buildx build -t lerentis/ansible:fedora-37-dev --platform=linux/amd64 . --push
|
||||||
|
cd ../debian-9 && docker buildx build -t lerentis/ansible:debian-9-dev --platform=linux/arm,linux/amd64 . --push
|
||||||
|
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8-dev --platform=linux/arm,linux/amd64 . --push
|
||||||
|
cd ../debian-10 && docker buildx build -t lerentis/ansible:debian-10-dev --platform=linux/arm64,linux/amd64 . --push
|
||||||
|
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7-dev --platform=linux/arm64,linux/amd64 . --push
|
||||||
|
cd ../almalinux-8 && docker buildx build -t lerentis/ansible:almalinux-8-dev --platform=linux/arm64,linux/amd64 . --push
|
||||||
|
cd ../arch && docker buildx build -t lerentis/ansible:arch-dev --platform=linux/arm,linux/amd64 . --push
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
FROM centos:7
|
FROM centos:7
|
||||||
|
|
||||||
RUN yum -y install epel-release \
|
RUN yum -y install epel-release \
|
||||||
&& yum -y install ansible git \
|
&& yum -y install ansible git curl python-firewall \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
&& yum clean headers \
|
&& yum clean headers \
|
||||||
&& yum clean packages
|
&& yum clean packages
|
||||||
|
|
||||||
|
22
debian-10/Dockerfile
Normal file
22
debian-10/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
FROM debian:10
|
||||||
|
|
||||||
|
RUN apt-get -q update \
|
||||||
|
&& apt-get -yq install --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
python3 \
|
||||||
|
python3-dev \
|
||||||
|
python3-pip \
|
||||||
|
git \
|
||||||
|
apt-utils \
|
||||||
|
curl \
|
||||||
|
ansible \
|
||||||
|
python \
|
||||||
|
ca-certificates \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
@ -1,10 +0,0 @@
|
|||||||
FROM debian:7
|
|
||||||
|
|
||||||
RUN apt-get -q update \
|
|
||||||
&& apt-get install -y python-pip python-dev git apt-utils
|
|
||||||
|
|
||||||
RUN pip install --index-url=https://pypi.python.org/simple/ --upgrade pip
|
|
||||||
|
|
||||||
RUN pip install git+https://github.com/ansible/ansible.git@devel
|
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
|
@ -5,14 +5,22 @@ RUN apt-get -q update \
|
|||||||
build-essential \
|
build-essential \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
python \
|
python3 \
|
||||||
python-dev \
|
python3-dev \
|
||||||
python-pip \
|
python3-pip \
|
||||||
git \
|
git \
|
||||||
apt-utils \
|
apt-utils \
|
||||||
&& apt-get clean \
|
curl \
|
||||||
&& pip install --upgrade pip
|
gnupg \
|
||||||
|
dirmngr \
|
||||||
RUN pip install git+https://github.com/ansible/ansible.git@devel
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& pip3 install --upgrade pip
|
||||||
|
|
||||||
|
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources \
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
|
||||||
|
&& apt-get -q update \
|
||||||
|
&& apt-get install -yq ansible \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
CMD ["ansible-playbook", "--help"]
|
||||||
|
26
debian-9/Dockerfile
Normal file
26
debian-9/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FROM debian:9
|
||||||
|
|
||||||
|
RUN apt-get -q update \
|
||||||
|
&& apt-get -yq install --no-install-recommends \
|
||||||
|
build-essential \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
python3 \
|
||||||
|
python3-dev \
|
||||||
|
python3-pip \
|
||||||
|
git \
|
||||||
|
apt-utils \
|
||||||
|
curl \
|
||||||
|
gnupg \
|
||||||
|
dirmngr \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& pip3 install --upgrade pip
|
||||||
|
|
||||||
|
RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources \
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 \
|
||||||
|
&& apt-get -q update \
|
||||||
|
&& apt-get install -yq ansible \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
123
drone.yaml.j2
Normal file
123
drone.yaml.j2
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
{%- for pipeline in pipelines -%}
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: build-{{ pipeline.group }}
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
{% for tag in pipeline.tags %}
|
||||||
|
- name: build-{{ tag }}
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: {{ tag }}/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- {{ tag }}-dev
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% for pipeline in pipelines %}
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: release-{{ pipeline.group }}
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
{% for tag in pipeline.tags %}
|
||||||
|
- name: release-{{ tag }}
|
||||||
|
image: plugins/kaniko
|
||||||
|
settings:
|
||||||
|
dockerfile: {{ tag }}/Dockerfile
|
||||||
|
password:
|
||||||
|
from_secret: docker_password
|
||||||
|
username:
|
||||||
|
from_secret: docker_username
|
||||||
|
repo: lerentis/ansible
|
||||||
|
tags:
|
||||||
|
- {{ tag }}
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 200
|
||||||
|
memory: 1024MiB
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: notify-build
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
{% raw %}
|
||||||
|
- name: notify
|
||||||
|
image: appleboy/drone-telegram
|
||||||
|
settings:
|
||||||
|
message: "Commit {{ commit.message }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
||||||
|
to:
|
||||||
|
from_secret: telegram_userid
|
||||||
|
token:
|
||||||
|
from_secret: telegram_secret
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
- success
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
- cron{% endraw %}
|
||||||
|
depends_on: {% for pipeline in pipelines %}
|
||||||
|
- build-{{ pipeline.group }} {% endfor %}
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: notify-release
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
{% raw %}
|
||||||
|
- name: notify
|
||||||
|
image: appleboy/drone-telegram
|
||||||
|
settings:
|
||||||
|
message: "Release {{ build.tag }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
||||||
|
to:
|
||||||
|
from_secret: telegram_userid
|
||||||
|
token:
|
||||||
|
from_secret: telegram_secret
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
- success
|
||||||
|
event:
|
||||||
|
- tag {% endraw %}
|
||||||
|
depends_on:{% for pipeline in pipelines %}
|
||||||
|
- release-{{ pipeline.group }} {% endfor %}
|
@ -1,8 +0,0 @@
|
|||||||
FROM fedora:24
|
|
||||||
|
|
||||||
RUN dnf -y install \
|
|
||||||
ansible \
|
|
||||||
openssh-clients \
|
|
||||||
&& dnf clean all
|
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
|
11
fedora-34/Dockerfile
Normal file
11
fedora-34/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM fedora:34
|
||||||
|
|
||||||
|
RUN dnf -y install \
|
||||||
|
ansible \
|
||||||
|
openssh-clients \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
11
fedora-35/Dockerfile
Normal file
11
fedora-35/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM fedora:35
|
||||||
|
|
||||||
|
RUN dnf -y install \
|
||||||
|
ansible \
|
||||||
|
openssh-clients \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
11
fedora-36/Dockerfile
Normal file
11
fedora-36/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM fedora:36
|
||||||
|
|
||||||
|
RUN dnf -y install \
|
||||||
|
ansible \
|
||||||
|
openssh-clients \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
11
fedora-37/Dockerfile
Normal file
11
fedora-37/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM fedora:37
|
||||||
|
|
||||||
|
RUN dnf -y install \
|
||||||
|
ansible \
|
||||||
|
openssh-clients \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
52
generate-pipeline.py
Normal file
52
generate-pipeline.py
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from jinja2 import Template, Environment, FileSystemLoader
|
||||||
|
|
||||||
|
pipelines = [
|
||||||
|
{
|
||||||
|
"group": "debian",
|
||||||
|
"tags": [
|
||||||
|
"ubuntu-22.04",
|
||||||
|
"ubuntu-20.04",
|
||||||
|
"ubuntu-18.04",
|
||||||
|
"ubuntu-16.04",
|
||||||
|
"ubuntu-14.04",
|
||||||
|
"debian-8",
|
||||||
|
"debian-9",
|
||||||
|
"debian-10"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "rhel",
|
||||||
|
"tags": [
|
||||||
|
"almalinux-8",
|
||||||
|
"centos-7",
|
||||||
|
"fedora-34",
|
||||||
|
"fedora-35",
|
||||||
|
"fedora-36",
|
||||||
|
"fedora-37"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "alpine",
|
||||||
|
"tags": [
|
||||||
|
"alpine-3.14",
|
||||||
|
"alpine-3.15"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "arch",
|
||||||
|
"tags": [
|
||||||
|
"arch"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
file_loader = FileSystemLoader('.')
|
||||||
|
env = Environment(loader=file_loader)
|
||||||
|
|
||||||
|
template = env.get_template('drone.yaml.j2')
|
||||||
|
|
||||||
|
output = template.render(pipelines=pipelines)
|
||||||
|
print(output)
|
@ -9,6 +9,9 @@ RUN apt-get update \
|
|||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
ansible \
|
ansible \
|
||||||
git \
|
git \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
CMD ["ansible-playbook", "--help"]
|
||||||
|
@ -11,6 +11,9 @@ RUN apt-get update \
|
|||||||
python-apt \
|
python-apt \
|
||||||
git-core \
|
git-core \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
CMD ["ansible-playbook", "--help"]
|
||||||
|
@ -11,6 +11,9 @@ RUN apt-get update \
|
|||||||
python-apt \
|
python-apt \
|
||||||
git-core \
|
git-core \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
CMD ["ansible-playbook", "--help"]
|
CMD ["ansible-playbook", "--help"]
|
||||||
|
16
ubuntu-20.04/Dockerfile
Normal file
16
ubuntu-20.04/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
|
software-properties-common \
|
||||||
|
apt-utils \
|
||||||
|
ansible \
|
||||||
|
python-apt \
|
||||||
|
git-core \
|
||||||
|
openssh-client \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
16
ubuntu-22.04/Dockerfile
Normal file
16
ubuntu-22.04/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
|
software-properties-common \
|
||||||
|
apt-utils \
|
||||||
|
ansible \
|
||||||
|
python3-apt \
|
||||||
|
git-core \
|
||||||
|
openssh-client \
|
||||||
|
curl \
|
||||||
|
&& curl -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o /usr/local/bin/goss \
|
||||||
|
&& chmod +rx /usr/local/bin/goss \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
CMD ["ansible-playbook", "--help"]
|
Reference in New Issue
Block a user