From 35f9a798677bc478f5a5f4d8eef4e42675980e9c Mon Sep 17 00:00:00 2001 From: Ben Peachey Date: Fri, 28 Oct 2022 15:29:36 +0200 Subject: [PATCH 1/3] Cleanup Dockerfile - Fix various Hadolinting violations - Install composer from a Docker image instead of requiring download - Remove unneeded WORKDIR directives --- Dockerfile | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 48a937e..179b402 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,18 @@ FROM php:7.2 -RUN apt-get update && \ - apt-get install -y \ + +RUN apt-get update \ + && apt-get install -yq --no-install-recommends \ git \ - zlib1g-dev -WORKDIR /tls -WORKDIR /install -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" -RUN php composer-setup.php -RUN php -r "unlink('composer-setup.php');" -ADD . /app + zip \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* + +COPY . /app + +COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer +RUN composer install --working-dir=/app --no-dev --prefer-dist \ + && rm /usr/local/bin/composer + WORKDIR /app -RUN php /install/composer.phar install --no-dev --prefer-dist EXPOSE 8080 -CMD php server/server.php \ No newline at end of file +CMD ["php", "server/server.php"] From 388f4be830bf9f9a4ed5bee80aa632b59b834237 Mon Sep 17 00:00:00 2001 From: Ben Peachey Date: Fri, 28 Oct 2022 15:30:19 +0200 Subject: [PATCH 2/3] Cleanup .dockerignore file - Remove non-existing file - Split files and folders - Add more that can be ignored --- .dockerignore | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index bf35a8f..7cdf6ab 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,11 @@ -Dockerfile -run-solid-test-suite.sh +# Directories to ignore .git + +# Files to ignore +.gitignore +_config.yml +CHANGELOG.md +CODE_OF_CONDUCT.md +CONTRIBUTING.md +Dockerfile +Gemfile From baa4312c9c396a1c57bf2de71990dc0b8b2dada4 Mon Sep 17 00:00:00 2001 From: Ben Peachey Date: Fri, 28 Oct 2022 15:32:52 +0200 Subject: [PATCH 3/3] Add GitHub Workflow to build and push docker image. --- .github/workflows/docker.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..aaa0da5 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,26 @@ +name: Build Docker Image + +on: + push: + branches: + - main + pull_request: + branches: [ main ] + +jobs: + docker-build-pub-sub: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build Pub-Sub Docker image + run: | + docker build -t "ghcr.io/pdsinterop/php-solid-pubsub-server:latest" . + docker push "ghcr.io/pdsinterop/php-solid-pubsub-server:latest"