6 Commits

Author SHA1 Message Date
e6b98211c9 glpi upgrade
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2023-09-25 11:39:24 +02:00
73dada42ed new drone
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2023-07-15 12:21:00 +02:00
7cd9a69fd2 build message 2023-07-13 14:40:12 +02:00
3579a5dc57 Get composer from main website
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2023-07-12 10:16:10 +02:00
01fb2b0c26 added some deps
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2023-07-12 09:54:12 +02:00
fa94e26857 updated glpi
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2023-07-11 11:25:43 +02:00
5 changed files with 166 additions and 51 deletions

126
.drone.star Normal file
View File

@@ -0,0 +1,126 @@
def main(ctx):
archs = ["amd64", "arm64"] ## arm
glpi_version = "10.0.10"
out = []
for arch in archs:
out += onpush(ctx, glpi_version, arch)
for arch in archs:
out += build_publish(ctx, glpi_version, arch)
out += manifest_publish(ctx, glpi_version, archs)
return out
def onpush(ctx, glpi_version, arch):
return [{
"kind": "pipeline",
"type": "docker",
"name": "build-onpush-%s-%s" % (glpi_version, arch),
"platform": {
"arch": arch,
"os": "linux",
},
"steps": [{
"name": "build_on_push",
"image": "plugins/docker:linux-%s" % (arch),
"settings": {
"context": ".",
"dockerfile": "./Dockerfile",
"dry_run": True,
"repo": "docker.asperti.com/paspo/glpi",
"build_args": [
"GLPI_VERSION=%s" % (glpi_version)
],
},
}],
"trigger": {
"event": ['push'],
}
}]
def build_publish(ctx, glpi_version, arch):
major = glpi_version.partition(".")[0];
return [{
"kind": "pipeline",
"type": "docker",
"name": "build-publish-%s-%s" % (glpi_version, arch),
"platform": {
"arch": arch,
"os": "linux",
},
"steps": [{
"name": "build_on_push",
"image": "plugins/docker:linux-%s" % (arch),
"settings": {
"context": ".",
"dockerfile": "./Dockerfile",
"build_args": [
"GLPI_VERSION=%s" % (glpi_version)
],
"username": {
"from_secret": "docker_username",
},
"password": {
"from_secret": "docker_password",
},
"registry": "docker.asperti.com",
"repo": "docker.asperti.com/paspo/glpi",
"tags": [
"latest-%s" % (arch),
"%s-%s" % (major, arch),
"%s-%s" % (glpi_version, arch)
],
"auto_tag": False,
"force_tag": True,
"daemon_off": False,
},
}],
"trigger": {
"ref": [
"refs/heads/master",
"refs/tags/**",
],
},
}]
def manifest_publish(ctx, glpi_version, archs):
major = glpi_version.partition(".")[0];
return [{
"kind": "pipeline",
"type": "docker",
"name": "manifest-%s" % (glpi_version),
"platform": {
"arch": archs[0],
"os": "linux",
},
"steps": [{
"name": "manifest",
"image": "plugins/manifest",
"settings": {
"spec": "manifest.tmpl",
"username": {
"from_secret": "docker_username",
},
"password": {
"from_secret": "docker_password",
},
"tags": [
"latest",
major,
glpi_version
],
"ignore_missing": True,
"force_tag": True,
},
}],
"trigger": {
"ref": [
"refs/heads/master",
"refs/tags/**",
],
},
"depends_on": ["build-publish-%s-%s" % (glpi_version, arch) for arch in archs]
}]

View File

@@ -1,49 +0,0 @@
kind: pipeline
type: docker
name: default
steps:
- name: build_and_publish_tag
image: plugins/docker:linux-amd64
settings:
force_tag: true
password:
from_secret: docker_password
registry: docker.asperti.com
repo: docker.asperti.com/paspo/glpi
context: .
dockerfile: ./Dockerfile
build_args:
- GLPI_VERSION=10.0.8
username:
from_secret: docker_username
tags:
- latest
- ${DRONE_TAG}
- ${DRONE_SEMVER_MAJOR}.${DRONE_SEMVER_MINOR}
when:
event:
- tag
- name: build_and_publish
image: plugins/docker:linux-amd64
settings:
force_tag: true
password:
from_secret: docker_password
registry: docker.asperti.com
repo: docker.asperti.com/paspo/glpi
context: .
dockerfile: ./Dockerfile
build_args:
- GLPI_VERSION=10.0.8
username:
from_secret: docker_username
tags:
- latest
when:
branch:
- master
event:
- push
- cron

View File

@@ -1,5 +1,5 @@
FROM alpine:3.18
ARG GLPI_VERSION=10.0.8
ARG GLPI_VERSION
RUN \
mkdir -p /logs /config /files /marketplace && \
@@ -7,9 +7,16 @@ RUN \
apk add curl nginx php82 php82-bz2 php82-ctype php82-curl php82-dom php82-exif \
php82-fileinfo php82-fpm php82-gd php82-iconv php82-intl php82-ldap php82-mysqli \
php82-opcache php82-openssl php82-pecl-apcu php82-pecl-redis php82-phar php82-session \
php82-simplexml php82-sodium php82-xml php82-zip php82-xmlreader php82-xmlwriter && \
php82-simplexml php82-sodium php82-tokenizer php82-xml php82-zip php82-xmlreader php82-xmlwriter && \
wget -O /usr/local/bin/composer https://getcomposer.org/download/2.5.8/composer.phar && \
chmod +x /usr/local/bin/composer && \
ln -s /usr/bin/php82 /usr/bin/php && \
wget -O - https://github.com/glpi-project/glpi/releases/download/${GLPI_VERSION}/glpi-${GLPI_VERSION}.tgz | tar xz -C /var/www
# this are needed if you want to manually install GLPI from git
# RUN \
# apk add patch npm gettext
COPY rootfs /
# config test

View File

@@ -14,3 +14,9 @@ docker build -t docker.asperti.com/paspo/glpi .
## run
see [docker-compose.yaml](docker-compose.yaml)
## test drone config
```sh
drone starlark --format --stdout
```

25
manifest.tmpl Normal file
View File

@@ -0,0 +1,25 @@
image: docker.asperti.com/paspo/glpi:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}}
tags:
{{#each build.tags}}
- {{this}}
{{/each}}
{{/if}}
manifests:
-
image: docker.asperti.com/paspo/glpi:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform:
architecture: amd64
os: linux
-
image: docker.asperti.com/paspo/glpi:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64
platform:
variant: v8
architecture: arm64
os: linux
-
image: docker.asperti.com/paspo/glpi:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm
platform:
variant: v7
architecture: arm
os: linux