fuck starlark and jsonet. jinja it is
continuous-integration/drone/push Build was killed Details

This commit is contained in:
Tobias Trabelsi 2022-04-23 19:06:25 +02:00
parent 66b678830e
commit f719b7ade3
Signed by: lerentis
GPG Key ID: FF0C2839718CAF2E
5 changed files with 740 additions and 367 deletions

View File

@ -1,44 +0,0 @@
local Pipeline(tag) = {
kind: "pipeline",
type: "kubernetes",
name: tag + "build",
platform: {
os: "linux",
arch: "amd64",
},
steps: [
{
name: tag,
image: "plugins/kaniko",
settings: {
repo: "lerentis/ansible",
username: { "from_secret": "docker_username" },
password: { "from_secret": "docker_password" },
dockerfile: tag + "/Dockerfile",
tags: [ tag ],
},
resources: {
limits: {
cpu: 200,
memory: "1024MiB",
},
},
when: [ "push", "pull_request", "cron" ]
}
]
};
[
Pipeline("ubuntu-20.04"),
Pipeline("ubuntu-18.04"),
Pipeline("ubuntu-14.04"),
Pipeline("debian-8"),
Pipeline("debian-9"),
Pipeline("debian-10"),
Pipeline("centos-7"),
Pipeline("almalinux-8"),
Pipeline("fedora-24"),
Pipeline("alpine-3"),
Pipeline("arch"),
]

View File

@ -7,7 +7,19 @@ platform:
os: linux
arch: amd64
when_ressource: &WHEN_TEMPLATE_DEV
steps:
- 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
@ -18,86 +30,152 @@ when_ressource: &WHEN_TEMPLATE_DEV
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- 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
steps:
- name: build-ubuntu-22
image: plugins/kaniko
settings:
dockerfile: ubuntu-22.04/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- ubuntu-22.04-dev
<<: *WHEN_TEMPLATE_DEV
- name: build-ubuntu-20
image: plugins/kaniko
settings:
dockerfile: ubuntu-20.04/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- ubuntu-20.04-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-18
- name: build-ubuntu-18.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-18.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-18.04-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-16
- name: build-ubuntu-16.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-16.04-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-14
- name: build-ubuntu-14.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-14.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-14.04-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-8
image: plugins/kaniko
settings:
dockerfile: debian-8/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-8-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-9
image: plugins/kaniko
settings:
dockerfile: debian-9/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-9-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-10
image: plugins/kaniko
settings:
dockerfile: debian-10/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-10-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
@ -108,7 +186,19 @@ platform:
os: linux
arch: amd64
when_ressource: &WHEN_TEMPLATE_DEV
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
@ -119,68 +209,110 @@ when_ressource: &WHEN_TEMPLATE_DEV
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- name: build-centos-7
image: plugins/kaniko
settings:
dockerfile: centos-7/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
steps:
tags:
- centos-7-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-34
image: plugins/kaniko
settings:
dockerfile: fedora-34/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-34-dev
<<: *WHEN_TEMPLATE_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
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-35-dev
<<: *WHEN_TEMPLATE_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
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-36-dev
<<: *WHEN_TEMPLATE_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
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-37-dev
<<: *WHEN_TEMPLATE_DEV
- name: build-almalinux-8
image: plugins/kaniko
settings:
dockerfile: almalinux-8/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- almalinux-8-dev
<<: *WHEN_TEMPLATE_DEV
- name: build-centos-7
image: plugins/kaniko
settings:
dockerfile: centos-7/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- centos-7-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
@ -191,7 +323,19 @@ platform:
os: linux
arch: amd64
when_ressource: &WHEN_TEMPLATE_DEV
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
@ -202,32 +346,26 @@ when_ressource: &WHEN_TEMPLATE_DEV
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- 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
steps:
- name: build-alpine-3-14
image: plugins/kaniko
settings:
dockerfile: alpine-3.14/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- alpine-3.14-dev
<<: *WHEN_TEMPLATE_DEV
- name: build-alpine-3-15
image: plugins/kaniko
settings:
dockerfile: alpine-3.15/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- alpine-3.15-dev
<<: *WHEN_TEMPLATE_DEV
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
@ -238,7 +376,19 @@ platform:
os: linux
arch: amd64
when_ressource: &WHEN_TEMPLATE_DEV
steps:
- name: build-arch
image: plugins/kaniko
settings:
dockerfile: arch/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- arch-dev
when:
event:
- push
@ -249,23 +399,7 @@ when_ressource: &WHEN_TEMPLATE_DEV
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
steps:
- name: build-arch
image: plugins/kaniko
settings:
dockerfile: arch/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- arch-dev
<<: *WHEN_TEMPLATE_DEV
---
kind: pipeline
@ -276,7 +410,19 @@ platform:
os: linux
arch: amd64
when_ressource_tag: &WHEN_TEMPLATE_TAG
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-dev
when:
event:
- tag
@ -285,86 +431,139 @@ when_ressource_tag: &WHEN_TEMPLATE_TAG
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- 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
steps:
- name: build-ubuntu-22-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-22.04/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- ubuntu-22.04
<<: *WHEN_TEMPLATE_TAG
- ubuntu-20.04-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-20-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-20.04/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- ubuntu-20.04
<<: *WHEN_TEMPLATE_TAG
- name: build-ubuntu-18-release
- name: release-ubuntu-18.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-18.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-18.04
<<: *WHEN_TEMPLATE_TAG
- ubuntu-18.04-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-16-release
- name: release-ubuntu-16.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-16.04
<<: *WHEN_TEMPLATE_TAG
- ubuntu-16.04-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-14-release
- name: release-ubuntu-14.04
image: plugins/kaniko
settings:
dockerfile: ubuntu-14.04/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-14.04
<<: *WHEN_TEMPLATE_TAG
- ubuntu-14.04-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-8-release
- name: release-debian-8
image: plugins/kaniko
settings:
dockerfile: debian-8/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-8
<<: *WHEN_TEMPLATE_TAG
- debian-8-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-9-release
- name: release-debian-9
image: plugins/kaniko
settings:
dockerfile: debian-9/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-9
<<: *WHEN_TEMPLATE_TAG
- debian-9-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-debian-10-release
- name: release-debian-10
image: plugins/kaniko
settings:
dockerfile: debian-10/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-10
<<: *WHEN_TEMPLATE_TAG
- debian-10-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
@ -375,7 +574,19 @@ platform:
os: linux
arch: amd64
when_ressource_tag: &WHEN_TEMPLATE_TAG
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-dev
when:
event:
- tag
@ -384,69 +595,101 @@ when_ressource_tag: &WHEN_TEMPLATE_TAG
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- name: release-centos-7
image: plugins/kaniko
settings:
dockerfile: centos-7/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- centos-7-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
steps:
- name: build-fedora-34-release
- name: release-fedora-34
image: plugins/kaniko
settings:
dockerfile: fedora-34/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-34
<<: *WHEN_TEMPLATE_TAG
- fedora-34-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-35-release
- name: release-fedora-35
image: plugins/kaniko
settings:
dockerfile: fedora-35/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-35
<<: *WHEN_TEMPLATE_TAG
- fedora-35-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-36-release
- name: release-fedora-36
image: plugins/kaniko
settings:
dockerfile: fedora-36/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-36
<<: *WHEN_TEMPLATE_TAG
- fedora-36-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-fedora-37-release
- name: release-fedora-37
image: plugins/kaniko
settings:
dockerfile: fedora-37/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-37
<<: *WHEN_TEMPLATE_TAG
- fedora-37-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-almalinux-8-release
image: plugins/kaniko
settings:
dockerfile: almalinux-8/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- almalinux-8
<<: *WHEN_TEMPLATE_TAG
- name: build-centos-7-release
image: plugins/kaniko
settings:
dockerfile: centos-7/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- centos-7
<<: *WHEN_TEMPLATE_TAG
---
kind: pipeline
@ -457,7 +700,19 @@ platform:
os: linux
arch: amd64
when_ressource_tag: &WHEN_TEMPLATE_TAG
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-dev
when:
event:
- tag
@ -466,68 +721,56 @@ when_ressource_tag: &WHEN_TEMPLATE_TAG
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
- 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
steps:
- name: build-alpine-3.14-release
image: plugins/kaniko
settings:
dockerfile: alpine-3.14/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- alpine-3.14
<<: *WHEN_TEMPLATE_TAG
- alpine-3.15-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-alpine-3.15-release
image: plugins/kaniko
settings:
dockerfile: alpine-3.15/Dockerfile
<<: *SETTINGS_TEMPLATE
tags:
- alpine-3.15
<<: *WHEN_TEMPLATE_TAG
---
kind: pipeline
type: kubernetes
name: release-arch
when_ressource_tag: &WHEN_TEMPLATE_TAG
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
settings_template: &SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
platform:
os: linux
arch: amd64
steps:
- name: build-arch-release
- name: release-arch
image: plugins/kaniko
settings:
dockerfile: arch/Dockerfile
<<: *SETTINGS_TEMPLATE
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- arch
<<: *WHEN_TEMPLATE_TAG
- arch-dev
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
@ -557,10 +800,10 @@ steps:
- pull_request
- cron
depends_on:
- build-arch
- build-alpine
- build-debian
- build-rhel
- build-alpine
- build-arch
---
kind: pipeline
@ -587,9 +830,8 @@ steps:
- success
event:
- tag
depends_on:
- release-arch
- release-alpine
- release-debian
- release-rhel
- release-alpine
- release-arch

View File

@ -1,17 +1,17 @@
#!/bin/bash
cd ubuntu-18.04 && docker buildx build -t lerentis/ansible:ubuntu-18.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-16.04 && docker buildx build -t lerentis/ansible:ubuntu-16.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.14 && docker buildx build -t lerentis/ansible:alpine-3.14 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.15 && docker buildx build -t lerentis/ansible:alpine-3.15 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-20.04 && docker buildx build -t lerentis/ansible:ubuntu-20.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-22.04 && docker buildx build -t lerentis/ansible:ubuntu-22.04 --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-34 && docker buildx build -t lerentis/ansible:fedora-34 --platform=linux/amd64 . --push
cd ../fedora-35 && docker buildx build -t lerentis/ansible:fedora-35 --platform=linux/amd64 . --push
cd ../fedora-36 && docker buildx build -t lerentis/ansible:fedora-36 --platform=linux/amd64 . --push
cd ../fedora-37 && docker buildx build -t lerentis/ansible:fedora-37 --platform=linux/amd64 . --push
cd ../debian-9 && docker buildx build -t lerentis/ansible:debian-9 --platform=linux/arm,linux/amd64 . --push
cd ../debian-8 && docker buildx build -t lerentis/ansible:debian-8 --platform=linux/arm,linux/amd64 . --push
cd ../debian-10 && docker buildx build -t lerentis/ansible:debian-10 --platform=linux/arm64,linux/amd64 . --push
cd ../centos-7 && docker buildx build -t lerentis/ansible:centos-7 --platform=linux/arm64,linux/amd64 . --push
cd ../almalinux-8 && docker buildx build -t lerentis/ansible:almalinux-8 --platform=linux/arm64,linux/amd64 . --push
cd ../arch && docker buildx build -t lerentis/ansible:arch --platform=linux/arm,linux/amd64 . --push
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 buildx build -t lerentis/ansible:ubuntu-16.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.14 && docker buildx build -t lerentis/ansible:alpine-3.14-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../alpine-3.15 && docker buildx build -t lerentis/ansible:alpine-3.15-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-20.04 && docker buildx build -t lerentis/ansible:ubuntu-20.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../ubuntu-22.04 && docker buildx build -t lerentis/ansible:ubuntu-22.04-dev --platform=linux/arm,linux/arm64,linux/amd64 . --push
cd ../fedora-34 && docker buildx build -t lerentis/ansible:fedora-34-dev --platform=linux/amd64 . --push
cd ../fedora-35 && docker buildx build -t lerentis/ansible:fedora-35-dev --platform=linux/amd64 . --push
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

123
drone.yaml.j2 Normal file
View 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 }}-dev
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 %}

52
generate-pipeline.py Normal file
View 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)