converted pipeline with jsonnet

This commit is contained in:
Tobias Trabelsi 2022-02-13 19:30:33 +01:00
parent 9245bc02a6
commit fb3a10a4d3
Signed by: lerentis
GPG Key ID: FF0C2839718CAF2E
2 changed files with 326 additions and 628 deletions

44
.drone.jsonnet Normal file
View File

@ -0,0 +1,44 @@
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

@ -1,632 +1,286 @@
--- - kind: pipeline
kind: pipeline name: ubuntu-20.04build
type: kubernetes
name: build-debian
platform: platform:
os: linux
arch: amd64 arch: amd64
os: linux
steps: steps:
- image: plugins/kaniko
- name: build-ubuntu-20 name: ubuntu-20.04
image: plugins/kaniko resources:
limits:
cpu: "200"
memory: 1024MiB
settings: settings:
dockerfile: ubuntu-20.04/Dockerfile dockerfile: ubuntu-20.04/Dockerfile
password: password:
from_secret: docker_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
image: plugins/kaniko
settings:
dockerfile: ubuntu-18.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-18.04-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-16
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-16.04-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-14
image: plugins/kaniko
settings:
dockerfile: ubuntu-14.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-14.04-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
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-8-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
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- debian-9-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
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-fedora-24
image: plugins/kaniko
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-24-dev
when:
event:
- push
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
- 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
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:
- 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
image: plugins/kaniko
settings:
dockerfile: alpine-3/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- alpine-3-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
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
- pull_request
- cron
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
name: release-debian
platform:
os: linux
arch: amd64
steps:
- name: build-ubuntu-20-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-20.04/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- ubuntu-20.04 - ubuntu-20.04
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: ubuntu-18.04build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: ubuntu-18.04
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-ubuntu-18-release
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
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- ubuntu-18.04 - ubuntu-18.04
when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
- name: build-ubuntu-16-release
image: plugins/kaniko
settings:
dockerfile: ubuntu-16.04/Dockerfile
password:
from_secret: docker_password
username: username:
from_secret: docker_username from_secret: docker_username
repo: lerentis/ansible
tags:
- ubuntu-16.04
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: ubuntu-14.04build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: ubuntu-14.04
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-ubuntu-14-release
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
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- ubuntu-14.04 - ubuntu-14.04
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: debian-8build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: debian-8
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-debian-8-release
image: plugins/kaniko
settings: settings:
dockerfile: debian-8/Dockerfile dockerfile: debian-8/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- debian-8 - debian-8
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: debian-9build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: debian-9
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-debian-9-release
image: plugins/kaniko
settings: settings:
dockerfile: debian-9/Dockerfile dockerfile: debian-9/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- debian-9 - debian-9
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: debian-10build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: debian-10
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-debian-10-release
image: plugins/kaniko
settings: settings:
dockerfile: debian-10/Dockerfile dockerfile: debian-10/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- debian-10 - debian-10
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
resources: - cron
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes type: kubernetes
name: release-rhel - kind: pipeline
name: centos-7build
platform: platform:
os: linux
arch: amd64 arch: amd64
os: linux
steps: steps:
- image: plugins/kaniko
- name: build-fedora-24-release name: centos-7
image: plugins/kaniko
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible
tags:
- fedora-24
when:
event:
- tag
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
- name: build-almalinux-8-release
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: build-centos-7-release
image: plugins/kaniko
settings: settings:
dockerfile: centos-7/Dockerfile dockerfile: centos-7/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- centos-7 - centos-7
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: almalinux-8build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: almalinux-8
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
settings:
--- dockerfile: almalinux-8/Dockerfile
kind: pipeline password:
from_secret: docker_password
repo: lerentis/ansible
tags:
- almalinux-8
username:
from_secret: docker_username
when:
- push
- pull_request
- cron
type: kubernetes type: kubernetes
name: release-alpine - kind: pipeline
name: fedora-24build
platform: platform:
os: linux
arch: amd64 arch: amd64
os: linux
steps: steps:
- image: plugins/kaniko
- name: build-alpine-3-release name: fedora-24
image: plugins/kaniko resources:
limits:
cpu: "200"
memory: 1024MiB
settings:
dockerfile: fedora-24/Dockerfile
password:
from_secret: docker_password
repo: lerentis/ansible
tags:
- fedora-24
username:
from_secret: docker_username
when:
- push
- pull_request
- cron
type: kubernetes
- kind: pipeline
name: alpine-3build
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: alpine-3
resources:
limits:
cpu: "200"
memory: 1024MiB
settings: settings:
dockerfile: alpine-3/Dockerfile dockerfile: alpine-3/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- alpine-3 - alpine-3
username:
from_secret: docker_username
when: when:
event: - push
- tag - pull_request
- cron
type: kubernetes
- kind: pipeline
name: archbuild
platform:
arch: amd64
os: linux
steps:
- image: plugins/kaniko
name: arch
resources: resources:
limits: limits:
cpu: 200 cpu: "200"
memory: 1024MiB memory: 1024MiB
---
kind: pipeline
type: kubernetes
name: release-arch
platform:
os: linux
arch: amd64
steps:
- name: build-arch-release
image: plugins/kaniko
settings: settings:
dockerfile: arch/Dockerfile dockerfile: arch/Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
username:
from_secret: docker_username
repo: lerentis/ansible repo: lerentis/ansible
tags: tags:
- arch - arch
username:
from_secret: docker_username
when: when:
event:
- tag
resources:
limits:
cpu: 200
memory: 1024MiB
---
kind: pipeline
type: kubernetes
name: notify-build
platform:
os: linux
arch: amd64
steps:
- 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 - push
- pull_request - pull_request
- cron - cron
depends_on:
- build-arch
- build-alpine
- build-debian
- build-rhel
---
kind: pipeline
type: kubernetes type: kubernetes
name: notify-release
platform:
os: linux
arch: amd64
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-arch
- release-alpine
- release-debian
- release-rhel