mirror of
https://github.com/spritsail/plex-media-server.git
synced 2025-05-15 18:47:55 +00:00
Publish to Docker Hub, Github Container Registry & Self-Hosted Registry
This commit is contained in:
parent
e5fb66fb2d
commit
04c4bf7d5e
76
.drone.star
76
.drone.star
@ -12,7 +12,7 @@ def main(ctx):
|
|||||||
depends_on.append(key)
|
depends_on.append(key)
|
||||||
|
|
||||||
if ctx.build.branch in publish_branches:
|
if ctx.build.branch in publish_branches:
|
||||||
builds.append(publish(depends_on))
|
builds.extend(publish(depends_on))
|
||||||
builds.append(update_readme())
|
builds.append(update_readme())
|
||||||
|
|
||||||
return builds
|
return builds
|
||||||
@ -29,7 +29,7 @@ def step(arch, key):
|
|||||||
{
|
{
|
||||||
"name": "build",
|
"name": "build",
|
||||||
"pull": "always",
|
"pull": "always",
|
||||||
"image": "spritsail/docker-build",
|
"image": "registry.spritsail.io/spritsail/docker-build",
|
||||||
"settings": {
|
"settings": {
|
||||||
"make": "true",
|
"make": "true",
|
||||||
},
|
},
|
||||||
@ -37,7 +37,7 @@ def step(arch, key):
|
|||||||
{
|
{
|
||||||
"name": "test-bin",
|
"name": "test-bin",
|
||||||
"pull": "always",
|
"pull": "always",
|
||||||
"image": "spritsail/docker-test",
|
"image": "registry.spritsail.io/spritsail/docker-test",
|
||||||
"settings": {
|
"settings": {
|
||||||
"run": "busybox && curl --version && xmlstarlet --version"
|
"run": "busybox && curl --version && xmlstarlet --version"
|
||||||
},
|
},
|
||||||
@ -45,7 +45,7 @@ def step(arch, key):
|
|||||||
{
|
{
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"pull": "always",
|
"pull": "always",
|
||||||
"image": "spritsail/docker-test",
|
"image": "registry.spritsail.io/spritsail/docker-test",
|
||||||
"settings": {
|
"settings": {
|
||||||
"curl": ":32400/identity",
|
"curl": ":32400/identity",
|
||||||
"delay": 20,
|
"delay": 20,
|
||||||
@ -56,7 +56,7 @@ def step(arch, key):
|
|||||||
{
|
{
|
||||||
"name": "publish",
|
"name": "publish",
|
||||||
"pull": "always",
|
"pull": "always",
|
||||||
"image": "spritsail/docker-publish",
|
"image": "registry.spritsail.io/spritsail/docker-publish",
|
||||||
"settings": {
|
"settings": {
|
||||||
"registry": {"from_secret": "registry_url"},
|
"registry": {"from_secret": "registry_url"},
|
||||||
"login": {"from_secret": "registry_login"},
|
"login": {"from_secret": "registry_login"},
|
||||||
@ -70,42 +70,50 @@ def step(arch, key):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def publish(depends_on):
|
def publish(depends_on):
|
||||||
return {
|
return [
|
||||||
"kind": "pipeline",
|
{
|
||||||
"name": "publish-manifest",
|
"kind": "pipeline",
|
||||||
"depends_on": depends_on,
|
"name": "publish-manifest-%s" % name,
|
||||||
"platform": {
|
"depends_on": depends_on,
|
||||||
"os": "linux",
|
"platform": {
|
||||||
},
|
"os": "linux",
|
||||||
"steps": [
|
|
||||||
{
|
|
||||||
"name": "publish",
|
|
||||||
"image": "spritsail/docker-multiarch-publish",
|
|
||||||
"pull": "always",
|
|
||||||
"settings": {
|
|
||||||
"tags": [
|
|
||||||
"plexpass",
|
|
||||||
"%label io.spritsail.version.plex | %prefix plexpass | %remsuf [0-9a-f]+$ | %auto 2"
|
|
||||||
],
|
|
||||||
"src_registry": {"from_secret": "registry_url"},
|
|
||||||
"src_login": {"from_secret": "registry_login"},
|
|
||||||
"dest_repo": repo,
|
|
||||||
"dest_login": {"from_secret": "docker_login"},
|
|
||||||
},
|
|
||||||
"when": {
|
|
||||||
"branch": publish_branches,
|
|
||||||
"event": ["push"],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
],
|
"steps": [
|
||||||
}
|
{
|
||||||
|
"name": "publish",
|
||||||
|
"image": "registry.spritsail.io/spritsail/docker-multiarch-publish",
|
||||||
|
"pull": "always",
|
||||||
|
"settings": {
|
||||||
|
"tags": [
|
||||||
|
"plexpass",
|
||||||
|
"%label io.spritsail.version.plex | %prefix plexpass | %remsuf [0-9a-f]+$ | %auto 2"
|
||||||
|
],
|
||||||
|
"src_registry": {"from_secret": "registry_url"},
|
||||||
|
"src_login": {"from_secret": "registry_login"},
|
||||||
|
"dest_registry": registry,
|
||||||
|
"dest_repo": repo,
|
||||||
|
"dest_login": {"from_secret": login_secret},
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"branch": publish_branches,
|
||||||
|
"event": ["push"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
for name, registry, login_secret in [
|
||||||
|
("dockerhub", "index.docker.io", "docker_login"),
|
||||||
|
("spritsail", "registry.spritsail.io", "spritsail_login"),
|
||||||
|
("ghcr", "ghcr.io", "ghcr_login"),
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
def update_readme():
|
def update_readme():
|
||||||
return {
|
return {
|
||||||
"kind": "pipeline",
|
"kind": "pipeline",
|
||||||
"name": "update-readme",
|
"name": "update-readme",
|
||||||
"depends_on": [
|
"depends_on": [
|
||||||
"publish-manifest",
|
"publish-manifest-dockerhub",
|
||||||
],
|
],
|
||||||
"steps": [
|
"steps": [
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user