diff --git a/.drone.jsonnet b/.drone.jsonnet new file mode 100644 index 0000000..584ed8e --- /dev/null +++ b/.drone.jsonnet @@ -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"), +] diff --git a/.drone.yml b/.drone.yml index e130377..544d4a4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,632 +1,286 @@ ---- -kind: pipeline -type: kubernetes -name: build-debian - -platform: - os: linux - arch: amd64 - -steps: - -- name: build-ubuntu-20 - 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 - 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 - tags: +- kind: pipeline + name: ubuntu-20.04build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: ubuntu-20.04 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: ubuntu-20.04/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: - ubuntu-20.04 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - -- name: build-ubuntu-18-release - 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 - 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: - from_secret: docker_username - repo: lerentis/ansible - tags: - - ubuntu-16.04 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - -- name: build-ubuntu-14-release - 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 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - -- name: build-debian-8-release - image: plugins/kaniko - settings: - dockerfile: debian-8/Dockerfile - password: - from_secret: docker_password - username: - from_secret: docker_username - repo: lerentis/ansible - tags: - - debian-8 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - -- name: build-debian-9-release - image: plugins/kaniko - settings: - dockerfile: debian-9/Dockerfile - password: - from_secret: docker_password - username: - from_secret: docker_username - repo: lerentis/ansible - tags: - - debian-9 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - -- name: build-debian-10-release - 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: build-fedora-24-release - 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: - limits: - cpu: 200 - 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: - dockerfile: centos-7/Dockerfile - password: - from_secret: docker_password - username: - from_secret: docker_username - repo: lerentis/ansible - tags: - - centos-7 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - ---- -kind: pipeline -type: kubernetes -name: release-alpine - -platform: - os: linux - arch: amd64 - -steps: - -- name: build-alpine-3-release - image: plugins/kaniko - settings: - dockerfile: alpine-3/Dockerfile - password: - from_secret: docker_password - username: - from_secret: docker_username - repo: lerentis/ansible - tags: - - alpine-3 - when: - event: - - tag - resources: - limits: - cpu: 200 - memory: 1024MiB - ---- -kind: pipeline -type: kubernetes -name: release-arch - -platform: - os: linux - arch: amd64 - -steps: - -- name: build-arch-release - image: plugins/kaniko - settings: - dockerfile: arch/Dockerfile - password: - from_secret: docker_password - username: - from_secret: docker_username - repo: lerentis/ansible - tags: - - arch - 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: + username: + from_secret: docker_username + when: - push - pull_request - cron -depends_on: - - build-arch - - build-alpine - - build-debian - - build-rhel - ---- -kind: pipeline -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 \ No newline at end of file + type: kubernetes +- kind: pipeline + name: ubuntu-18.04build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: ubuntu-18.04 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: ubuntu-18.04/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - ubuntu-18.04 + username: + from_secret: docker_username + when: + - push + - 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: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: ubuntu-14.04/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - ubuntu-14.04 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: debian-8build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: debian-8 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: debian-8/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - debian-8 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: debian-9build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: debian-9 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: debian-9/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - debian-9 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: debian-10build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: debian-10 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: debian-10/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - debian-10 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: centos-7build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: centos-7 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: centos-7/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - centos-7 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: almalinux-8build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: almalinux-8 + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: almalinux-8/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - almalinux-8 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: fedora-24build + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: fedora-24 + 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: + dockerfile: alpine-3/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - alpine-3 + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes +- kind: pipeline + name: archbuild + platform: + arch: amd64 + os: linux + steps: + - image: plugins/kaniko + name: arch + resources: + limits: + cpu: "200" + memory: 1024MiB + settings: + dockerfile: arch/Dockerfile + password: + from_secret: docker_password + repo: lerentis/ansible + tags: + - arch + username: + from_secret: docker_username + when: + - push + - pull_request + - cron + type: kubernetes