New build design

This commit is contained in:
Alexey Pustovalov 2021-10-08 00:13:22 +02:00
parent 1f68d44d7b
commit c2acaa0049
11 changed files with 85 additions and 95 deletions

View File

@ -7,12 +7,11 @@ on:
push:
branches:
- 'trunk'
paths-ignore:
- 'env_vars/*'
- 'docker-compose*.yaml'
- 'Dockerfiles/*/rhel/*'
- 'Dockerfiles/*/windows/*'
- "**.md"
paths:
- 'Dockerfiles/**'
- '!Dockerfiles/*/rhel/*'
- '!Dockerfiles/*/windows/*'
- '.github/workflows/images_build.yml'
defaults:
run:
@ -31,6 +30,7 @@ jobs:
os: ${{ steps.os.outputs.list }}
database: ${{ steps.database.outputs.list }}
components: ${{ steps.components.outputs.list }}
is_default_branch: ${{ steps.branch_info.outputs.is_default }}
steps:
- name: Checkout repository
uses: actions/checkout@v2.3.4
@ -73,6 +73,10 @@ jobs:
echo "::set-output name=list::$component_list"
- name: Get branch info
id: branch_info
uses: tj-actions/branch-names@v5
build_base:
timeout-minutes: 70
name: Build base on ${{ matrix.os }}
@ -117,7 +121,7 @@ jobs:
type=ref,event=branch,prefix=${{ matrix.os }}-
type=ref,event=branch,suffix=-${{ matrix.os }}
flavor: |
latest=auto
latest=false
- name: Build ${{ env.BASE_BUILD_NAME }}/${{ matrix.os }} and push
id: docker_build
@ -187,7 +191,7 @@ jobs:
type=ref,event=branch,prefix=${{ matrix.os }}-
type=ref,event=branch,suffix=-${{ matrix.os }}
flavor: |
latest=auto
latest=false
- name: Download SHA256 tag build-base:${{ matrix.os }}
uses: actions/download-artifact@v2.0.10
@ -283,7 +287,7 @@ jobs:
type=ref,event=branch,prefix=${{ matrix.os }}-
type=ref,event=branch,suffix=-${{ matrix.os }}
flavor: |
latest=auto
latest=false
- name: Download SHA256 tag for ${{ steps.build_base_image.outputs.build_base }}:${{ matrix.os }}
uses: actions/download-artifact@v2.0.10

View File

@ -18,14 +18,10 @@ prepare_java_gateway_config() {
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
if [ -n "${ZBX_DEBUGLEVEL}" ]; then
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
if [ -f "$ZBX_GATEWAY_CONFIG" ]; then
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
else
echo "**** Zabbix Java Gateway log configuration file '$ZBX_GATEWAY_CONFIG' not found"
fi
fi
: ${ZBX_DEBUGLEVEL:="info"}
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
}
prepare_java_gateway() {

View File

@ -18,14 +18,10 @@ prepare_java_gateway_config() {
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
if [ -n "${ZBX_DEBUGLEVEL}" ]; then
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
if [ -f "$ZBX_GATEWAY_CONFIG" ]; then
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
else
echo "**** Zabbix Java Gateway log configuration file '$ZBX_GATEWAY_CONFIG' not found"
fi
fi
: ${ZBX_DEBUGLEVEL:="info"}
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
}
prepare_java_gateway() {

View File

@ -60,8 +60,6 @@ RUN set -eux && INSTALL_PKGS="bash \
rm -rf /var/cache/yum /var/lib/yum/yumdb/* /usr/lib/udev/hwdb.d/* && \
rm -rf /var/cache/dnf /etc/udev/hwdb.bin /root/.pki
COPY ["conf/etc/", "/etc/"]
RUN set -eux && INSTALL_PKGS="autoconf \
automake \
pkgconf \

View File

@ -18,14 +18,10 @@ prepare_java_gateway_config() {
ZBX_GATEWAY_CONFIG=$ZABBIX_ETC_DIR/zabbix_java_gateway_logback.xml
if [ -n "${ZBX_DEBUGLEVEL}" ]; then
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
if [ -f "$ZBX_GATEWAY_CONFIG" ]; then
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
else
echo "**** Zabbix Java Gateway log configuration file '$ZBX_GATEWAY_CONFIG' not found"
fi
fi
: ${ZBX_DEBUGLEVEL:="info"}
echo "Updating $ZBX_GATEWAY_CONFIG 'DebugLevel' parameter: '${ZBX_DEBUGLEVEL}'... updated"
sed -i -e "/^.*<root level=/s/=.*/=\"${ZBX_DEBUGLEVEL}\">/" "$ZBX_GATEWAY_CONFIG"
}
prepare_java_gateway() {

View File

@ -14,11 +14,11 @@ ARG ZBX_SOURCES
ENV TERM=xterm ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
LABEL org.opencontainers.image.title="Zabbix web-interface (Apache, MySQL)" \
LABEL org.opencontainers.image.title="Zabbix web-interface (Apache, PostgreSQL)" \
org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
org.opencontainers.image.vendor="Zabbix LLC" \
org.opencontainers.image.url="https://zabbix.com/" \
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
org.opencontainers.image.licenses="GPL v2.0" \
org.opencontainers.image.documentation="https://www.zabbix.com/documentation/${MAJOR_VERSION}/manual/installation/containers" \
org.opencontainers.image.version="${ZBX_VERSION}" \

View File

@ -14,11 +14,11 @@ ARG ZBX_SOURCES
ENV TERM=xterm ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
LABEL org.opencontainers.image.title="Zabbix web-interface (Apache, MySQL)" \
LABEL org.opencontainers.image.title="Zabbix web-interface (Apache, PostgreSQL)" \
org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
org.opencontainers.image.vendor="Zabbix LLC" \
org.opencontainers.image.url="https://zabbix.com/" \
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with MySQL database support" \
org.opencontainers.image.description="Zabbix web-interface based on Apache2 web server with PostgreSQL database support" \
org.opencontainers.image.licenses="GPL v2.0" \
org.opencontainers.image.documentation="https://www.zabbix.com/documentation/${MAJOR_VERSION}/manual/installation/containers" \
org.opencontainers.image.version="${ZBX_VERSION}" \

View File

@ -14,11 +14,11 @@ ARG ZBX_SOURCES
ENV TERM=xterm ZBX_VERSION=${ZBX_VERSION} ZBX_SOURCES=${ZBX_SOURCES}
LABEL org.opencontainers.image.title="Zabbix web-interface (Nginx, MySQL)" \
LABEL org.opencontainers.image.title="Zabbix web-interface (Nginx, PostgreSQL)" \
org.opencontainers.image.authors="Alexey Pustovalov <alexey.pustovalov@zabbix.com>" \
org.opencontainers.image.vendor="Zabbix LLC" \
org.opencontainers.image.url="https://zabbix.com/" \
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with MySQL database support" \
org.opencontainers.image.description="Zabbix web-interface based on Nginx web server with PostgreSQL database support" \
org.opencontainers.image.licenses="GPL v2.0" \
org.opencontainers.image.documentation="https://www.zabbix.com/documentation/${MAJOR_VERSION}/manual/installation/containers" \
org.opencontainers.image.version="${ZBX_VERSION}" \

View File

@ -15,9 +15,9 @@ services:
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
ulimits:
nproc: 65535
nofile:
@ -32,8 +32,8 @@ services:
cpus: '0.5'
memory: 512M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_srv
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_srv
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -91,8 +91,8 @@ services:
cpus: '0.3'
memory: 256M
env_file:
- ./env_vars/env_prx
- ./env_vars/env_prx_sqlite3
- ./env_vars/.env_prx
- ./env_vars/.env_prx_sqlite3
depends_on:
- zabbix-java-gateway
- zabbix-snmptraps
@ -140,9 +140,9 @@ services:
cpus: '0.3'
memory: 256M
env_file:
- ./env_vars/env_db_mysql_proxy
- ./env_vars/env_prx
- ./env_vars/env_prx_mysql
- ./env_vars/.env_db_mysql_proxy
- ./env_vars/.env_prx
- ./env_vars/.env_prx_mysql
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
@ -178,9 +178,9 @@ services:
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
@ -190,8 +190,8 @@ services:
cpus: '0.5'
memory: 256M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_web
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_web
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -232,9 +232,9 @@ services:
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
@ -244,8 +244,8 @@ services:
cpus: '0.5'
memory: 256M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_web
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_web
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -300,7 +300,7 @@ services:
memory: 64M
mode: global
env_file:
- ./env_vars/env_agent
- ./env_vars/.env_agent
privileged: true
pid: "host"
networks:
@ -332,7 +332,7 @@ services:
cpus: '0.25'
memory: 256M
env_file:
- ./env_vars/env_java
- ./env_vars/.env_java
networks:
zbx_net_backend:
aliases:
@ -394,7 +394,7 @@ services:
cpus: '0.25'
memory: 256M
env_file:
- ./env_vars/env_web_service
- ./env_vars/.env_web_service
networks:
zbx_net_backend:
aliases:
@ -419,7 +419,7 @@ services:
volumes:
- ./zbx_env/var/lib/mysql:/var/lib/mysql:rw
env_file:
- ./env_vars/env_db_mysql
- ./env_vars/.env_db_mysql
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
@ -441,7 +441,7 @@ services:
- ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro
- ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/.env_db_pgsql
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD

View File

@ -61,9 +61,9 @@ services:
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
ulimits:
nproc: 65535
nofile:
@ -78,8 +78,8 @@ services:
cpus: '0.5'
memory: 512M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_srv
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_srv
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -144,8 +144,8 @@ services:
cpus: '0.3'
memory: 256M
env_file:
- ./env_vars/env_prx
- ./env_vars/env_prx_sqlite3
- ./env_vars/.env_prx
- ./env_vars/.env_prx_sqlite3
depends_on:
- zabbix-java-gateway
- zabbix-snmptraps
@ -200,9 +200,9 @@ services:
cpus: '0.3'
memory: 256M
env_file:
- ./env_vars/env_db_mysql_proxy
- ./env_vars/env_prx
- ./env_vars/env_prx_mysql
- ./env_vars/.env_db_mysql_proxy
- ./env_vars/.env_prx
- ./env_vars/.env_prx_mysql
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
@ -245,9 +245,9 @@ services:
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
@ -257,8 +257,8 @@ services:
cpus: '0.5'
memory: 256M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_web
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_web
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -306,9 +306,9 @@ services:
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
# - ./env_vars/.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
@ -318,8 +318,8 @@ services:
cpus: '0.5'
memory: 256M
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/env_web
- ./env_vars/.env_db_pgsql
- ./env_vars/.env_web
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD
@ -381,7 +381,7 @@ services:
memory: 64M
mode: global
env_file:
- ./env_vars/env_agent
- ./env_vars/.env_agent
privileged: true
pid: "host"
depends_on:
@ -421,7 +421,7 @@ services:
cpus: '0.25'
memory: 256M
env_file:
- ./env_vars/env_java
- ./env_vars/.env_java
depends_on:
- zabbix-build-pgsql
networks:
@ -495,7 +495,7 @@ services:
cpus: '0.25'
memory: 256M
env_file:
- ./env_vars/env_web_service
- ./env_vars/.env_web_service
depends_on:
- zabbix-build-pgsql
networks:
@ -522,7 +522,7 @@ services:
volumes:
- ./zbx_env/var/lib/mysql:/var/lib/mysql:rw
env_file:
- ./env_vars/env_db_mysql
- ./env_vars/.env_db_mysql
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
@ -544,7 +544,7 @@ services:
- ./env_vars/.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro
- ./env_vars/.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro
env_file:
- ./env_vars/env_db_pgsql
- ./env_vars/.env_db_pgsql
secrets:
- POSTGRES_USER
- POSTGRES_PASSWORD

View File

@ -2,14 +2,14 @@ version: '3.5'
services:
zabbix-build-base:
build:
context: ./build-base/ubuntu
context: ./Dockerfiles/build-base/ubuntu
cache_from:
- ubuntu:focal
image: zabbix-build-base:ubuntu-local
zabbix-build-pgsql:
build:
context: ./build-pgsql/ubuntu
context: ./Dockerfiles/build-pgsql/ubuntu
cache_from:
- ubuntu:focal
args:
@ -20,7 +20,7 @@ services:
zabbix-build-mysql:
build:
context: ./build-mysql/ubuntu
context: ./Dockerfiles/build-mysql/ubuntu
cache_from:
- ubuntu:focal
args:
@ -31,7 +31,7 @@ services:
zabbix-build-sqlite3:
build:
context: ./build-sqlite3/ubuntu
context: ./Dockerfiles/build-sqlite3/ubuntu
cache_from:
- ubuntu:focal
args: