Compare commits

...

9 Commits

Author SHA1 Message Date
Markus Opolka
bdcab55309 Upgrading to Version 5.0.4+210614 2021-06-22 07:53:53 +02:00
Markus Opolka
2755985321 Upgrading to LTS Version 3.27.3+210615 2021-06-22 07:46:01 +02:00
Jack Henschel
cb5b062980 Minor workflow fixes (#70)
* YAML indentation
* Correct image labels
2021-06-21 19:38:58 +02:00
Jack Henschel
3890f9f73a Build and push images with Github Actions to DockerHub (#68)
* Build and push images with Github Actions to DockerHub
* Remove Travis CI configuration

References:
* https://docs.github.com/en/actions/guides/publishing-docker-images
* https://github.com/docker/build-push-action/blob/master/docs/advanced/tags-labels.md
* https://github.com/docker/metadata-action

Note: docker / buildx does not support '+' in the image tag name.
> invalid tag "martialblog/limesurvey:0.0.0+test5-apache": invalid
reference format

Use underscores instead, like the images already have on Dockerhub.

Co-authored-by: Markus Opolka <markus.opolka@iis.fraunhofer.de>
2021-06-21 13:27:58 +02:00
Markus Opolka
c181f3a832 Upgrading to Version 5.0.3+210609 2021-06-15 08:13:04 +02:00
Markus Opolka
eda09e735e Upgrading to LTS Version 3.27.2+210608 2021-06-15 08:12:10 +02:00
Markus Opolka
80a5f95fab Upgrading to Version 5.0.2+210607 2021-06-09 07:44:57 +02:00
Nimrod Zimerman
65c1902247 Fix Apache LISTEN_PORT "sed" command to look for whole "Listen" command (#64)
Otherwise, if the replaced port number contains "80" (for example, "8080",
as is now the default), it is replaced over and over on each activation
2021-06-08 09:56:17 +02:00
Markus Opolka
387fcf11f4 Upgrading to Version 5.0.1+210532 2021-06-07 16:46:51 +02:00
13 changed files with 258 additions and 33 deletions

View File

@@ -0,0 +1,109 @@
name: Publish Latest Container Images
on:
push:
tags:
- '5.*'
jobs:
lint_dockerfiles:
name: Lint Dockerfile with hadolint
runs-on: ubuntu-latest
strategy:
matrix:
dockerfile:
- 5.0/apache/Dockerfile
- 5.0/fpm-alpine/Dockerfile
- 5.0/fpm/Dockerfile
steps:
- uses: actions/checkout@v2
- uses: hadolint/hadolint-action@v1.5.0
with:
dockerfile: ${{ matrix.dockerfile }}
ignore: DL4006 DL3008 DL3018
push_images_to_registries:
name: Push Container Images to registries
runs-on: ubuntu-latest
needs: [lint_dockerfiles]
environment: docker-build
permissions:
packages: write
contents: read
steps:
- name: 'Check out the repo'
uses: actions/checkout@v2
- name: 'Set up Docker Buildx'
uses: docker/setup-buildx-action@v1
with:
buildkitd-flags: --debug
- name: 'Log in to DockerHub'
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
## Can be enabled in the future
# - name: Log in to GitHub Container Registry
# uses: docker/login-action@v1
# with:
# registry: gchr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
- name: 'Apache variant metadata'
id: metadata-apache
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{raw}},suffix=-apache
type=semver,pattern={{major}},suffix=-apache
flavor: |
latest=false
- name: 'Build and push latest Apache container images'
uses: docker/build-push-action@v2
with:
context: 5.0/apache
push: true
tags: ${{ steps.metadata-apache.outputs.tags }}
labels: ${{ steps.metadata-apache.outputs.labels }}
- name: 'FPM variant metadata'
id: metadata-fpm
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm
type=semver,pattern={{major}},suffix=-fpm
- name: 'Build and push latest fpm container images'
uses: docker/build-push-action@v2
with:
context: 5.0/fpm
push: true
tags: ${{ steps.metadata-fpm.outputs.tags }}
labels: ${{ steps.metadata-fpm.outputs.labels }}
- name: 'FPM Alpine variant metadata'
id: metadata-fpm-alpine
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm-alpine
type=semver,pattern={{major}},suffix=-fpm-alpine
- name: 'Build and push latest fpm-alpine container images'
uses: docker/build-push-action@v2
with:
context: 5.0/fpm-alpine
push: true
tags: ${{ steps.metadata-fpm-alpine.outputs.tags }}
labels: ${{ steps.metadata-fpm-alpine.outputs.labels }}

View File

@@ -0,0 +1,110 @@
name: Publish LTS Container Images
on:
push:
tags:
- '3.*'
jobs:
lint_dockerfiles:
name: 'Lint Dockerfile with hadolint'
runs-on: ubuntu-latest
strategy:
matrix:
dockerfile:
- 3.0/apache/Dockerfile
- 3.0/fpm-alpine/Dockerfile
- 3.0/fpm/Dockerfile
steps:
- uses: actions/checkout@v2
- uses: hadolint/hadolint-action@v1.5.0
with:
dockerfile: ${{ matrix.dockerfile }}
ignore: DL4006 DL3008 DL3018
push_images_to_registries:
name: 'Push container images to registries'
runs-on: ubuntu-latest
needs: [lint_dockerfiles]
environment: docker-build
permissions:
packages: write
contents: read
steps:
- name: 'Check out the repo'
uses: actions/checkout@v2
- name: 'Set up Docker Buildx'
uses: docker/setup-buildx-action@v1
with:
buildkitd-flags: --debug
- name: 'Log in to DockerHub'
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
## Can be enabled in the future
# - name: Log in to GitHub Container Registry
# uses: docker/login-action@v1
# with:
# registry: gchr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
- name: 'Apache variant metadata'
id: metadata-apache
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{raw}},suffix=-apache
type=semver,pattern={{major}},suffix=-apache
flavor: |
latest=false
- name: 'Build and push LTS apache container images'
uses: docker/build-push-action@v2
with:
context: 3.0/apache
push: true
tags: ${{ steps.metadata-apache.outputs.tags }}
labels: ${{ steps.metadata-apache.outputs.labels }}
- name: 'FPM variant metadata'
id: metadata-fpm
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm
type=semver,pattern={{major}},suffix=-fpm
- name: 'Build and push LTS fpm container images'
uses: docker/build-push-action@v2
with:
context: 3.0/fpm
push: true
tags: ${{ steps.metadata-fpm.outputs.tags }}
labels: ${{ steps.metadata-apache.outputs.labels }}
- name: 'FPM Alpine variant metadata'
id: metadata-fpm-alpine
uses: docker/metadata-action@v3
with:
images: |
docker.io/martialblog/limesurvey
## Can be enabled in the future
# ghcr.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm-alpine
type=semver,pattern={{major}},suffix=-fpm-alpine
- name: 'Build and push LTS fpm-alpine container images'
uses: docker/build-push-action@v2
with:
context: 3.0/fpm-alpine
push: true
tags: ${{ steps.metadata-fpm-alpine.outputs.tags }}
labels: ${{ steps.metadata-apache.outputs.labels }}

24
.github/workflows/lint-dockerfiles.yaml vendored Normal file
View File

@@ -0,0 +1,24 @@
---
name: Lint Dockerfile
on: [push, pull_request]
jobs:
lint:
name: Lint Dockerfile with hadolint
strategy:
matrix:
dockerfile:
- 3.0/apache/Dockerfile
- 3.0/fpm-alpine/Dockerfile
- 3.0/fpm/Dockerfile
- 5.0/apache/Dockerfile
- 5.0/fpm-alpine/Dockerfile
- 5.0/fpm/Dockerfile
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hadolint/hadolint-action@v1.5.0
with:
dockerfile: ${{ matrix.dockerfile }}
ignore: DL4006 DL3008 DL3018

View File

@@ -1,18 +0,0 @@
sudo: required
language: bash
services:
- docker
install:
jobs:
include:
- env: HADOLINT="${HOME}/hadolint"
script:
- curl -sL -o ${HADOLINT} "https://github.com/hadolint/hadolint/releases/download/v1.23.0/hadolint-$(uname -s)-$(uname -m)"
- chmod 700 ${HADOLINT}
- git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 ${HADOLINT} --ignore DL4006 --ignore DL3008 --ignore DL3018
- env: TAG=martialblog/limesurvey-apache
script: cd 5.0/apache; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
- env: TAG=martialblog/limesurvey-fpm
script: cd 5.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
- env: TAG=martialblog/limesurvey-alpine
script: cd 5.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG

View File

@@ -1,7 +1,7 @@
FROM php:7.4-apache
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.1+210531'
ARG sha256_checksum='229019839642239d14b11b443bafee59e1fadf0c5e7718f101b8fb789de81e4a'
ARG version='3.27.3+210615'
ARG sha256_checksum='b4986b8be45a2e3d9dbd92ecd724b5bc4aef751f194c00ed445ed0201ad82aa1'
ARG USER=root
ARG LISTEN_PORT=80

View File

@@ -37,7 +37,7 @@ fi
if [ "$LISTEN_PORT" != "80" ]; then
echo "Info: Customizing Apache Listen port to $LISTEN_PORT"
sed -i "s/80/$LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
sed -i "s/Listen 80\$/Listen $LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
fi
# Check if database is available

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.1+210531'
ARG sha256_checksum='229019839642239d14b11b443bafee59e1fadf0c5e7718f101b8fb789de81e4a'
ARG version='3.27.3+210615'
ARG sha256_checksum='b4986b8be45a2e3d9dbd92ecd724b5bc4aef751f194c00ed445ed0201ad82aa1'
# Install OS dependencies
RUN set -ex; \

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.1+210531'
ARG sha256_checksum='229019839642239d14b11b443bafee59e1fadf0c5e7718f101b8fb789de81e4a'
ARG version='3.27.3+210615'
ARG sha256_checksum='b4986b8be45a2e3d9dbd92ecd724b5bc4aef751f194c00ed445ed0201ad82aa1'
# Install OS dependencies
RUN set -ex; \

View File

@@ -41,7 +41,7 @@ fi
if [ "$LISTEN_PORT" != "80" ]; then
echo "Info: Customizing Apache Listen port to $LISTEN_PORT"
sed -i "s/80/$LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
sed -i "s/Listen 80\$/Listen $LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
fi
# Check if database is available

View File

@@ -1,7 +1,7 @@
FROM php:8-apache
LABEL maintainer="markus@martialblog.de"
ARG version='5.0.0+210526'
ARG sha256_checksum='b82edc84970b438fdcc63880bb4dee74ee5afb61540f25be8c84a102881c2bc0'
ARG version='5.0.4+210614'
ARG sha256_checksum='b2981b68269f3c9711d7479a509bdef2763827e620b097f8a235f82dabc65f7b'
ARG USER=www-data
ARG LISTEN_PORT=8080

View File

@@ -42,7 +42,7 @@ fi
if [ "$LISTEN_PORT" != "80" ]; then
echo "Info: Customizing Apache Listen port to $LISTEN_PORT"
sed -i "s/80/$LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
sed -i "s/Listen 80\$/Listen $LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
fi
# Check if database is available

View File

@@ -1,7 +1,7 @@
FROM php:8-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='5.0.0+210526'
ARG sha256_checksum='b82edc84970b438fdcc63880bb4dee74ee5afb61540f25be8c84a102881c2bc0'
ARG version='5.0.4+210614'
ARG sha256_checksum='b2981b68269f3c9711d7479a509bdef2763827e620b097f8a235f82dabc65f7b'
ARG USER=www-data
# Install OS dependencies

View File

@@ -1,7 +1,7 @@
FROM php:8-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='5.0.0+210526'
ARG sha256_checksum='b82edc84970b438fdcc63880bb4dee74ee5afb61540f25be8c84a102881c2bc0'
ARG version='5.0.4+210614'
ARG sha256_checksum='b2981b68269f3c9711d7479a509bdef2763827e620b097f8a235f82dabc65f7b'
ARG USER=www-data
# Install OS dependencies