Merge pull request 'merge develop' (#20) from develop into master
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: https://git.pbiernat.dev/docker/nginx-php/pulls/20
This commit is contained in:
Piotr Biernat 2021-11-23 22:17:13 +00:00
commit 1180a2a1bf
5 changed files with 135 additions and 15 deletions

View File

@ -4,17 +4,40 @@ type: docker
name: Build
steps:
- name: build
- name: build_release
image: plugins/docker
commands:
- sleep 5
- docker build -t docker.pbiernat.dev/nginx-php .
- docker images | grep nginx-php
when:
event: tag
volumes:
- name: docker-sock
path: /var/run
- name: publish
- name: publish_release
image: plugins/docker
environment:
DOCKER_USERNAME:
from_secret: registry_username
DOCKER_PASSWORD:
from_secret: registry_password
when:
event: tag
volumes:
- name: docker-sock
path: /var/run
- name: build_develop
image: plugins/docker
commands:
- ./scripts/drone-build.sh
when:
branch: develop
event:
- push
volumes:
- name: docker-sock
path: /var/run
- name: publish_develop
image: plugins/docker
environment:
DOCKER_USERNAME:
@ -22,11 +45,43 @@ steps:
DOCKER_PASSWORD:
from_secret: registry_password
commands:
- sleep 5
- docker login docker.pbiernat.dev -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker push docker.pbiernat.dev/nginx-php
- ./scripts/drone-publish.sh
when:
branch: master
branch: develop
event:
- push
volumes:
- name: docker-sock
path: /var/run
- name: build_feature
image: plugins/docker
commands:
- ./scripts/drone-build.sh
when:
branch:
- feature_*
- develop
event:
- push
- pull_request
volumes:
- name: docker-sock
path: /var/run
- name: publish_feature
image: plugins/docker
environment:
DOCKER_USERNAME:
from_secret: registry_username
DOCKER_PASSWORD:
from_secret: registry_password
commands:
- ./scripts/drone-publish.sh
when:
branch: develop
event:
- pull_request
volumes:
- name: docker-sock
path: /var/run

36
scripts/drone-build.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
contains() {
string="$1"
substring="$2"
if test "${string#*$substring}" != "$string"
then
return 0 # $substring is in $string
else
return 1 # $substring is not in $string
fi
}
branch=$CI_COMMIT_BRANCH
event=$CI_BUILD_EVENT
source_branch=$DRONE_SOURCE_BRANCH
step_name=$DRONE_STEP_NAME
if { contains "$branch" "feature_" && [ "$event" = push ]; } ; then
sleep 5
docker build -t docker.pbiernat.dev/nginx-php:$branch .
return 0
fi
if { [ "$branch" = develop ] && [ "$event" = pull_request ]; } ; then
sleep 5
docker build -t docker.pbiernat.dev/nginx-php:$source_branch .
return 0
fi
if { [ "$branch" = develop ] && [ "$event" = push ] && [ "$step_name" != build_feature ]; } ; then
sleep 5
docker build -t docker.pbiernat.dev/nginx-php:dev .
return 0
fi

29
scripts/drone-publish.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
contains() {
string="$1"
substring="$2"
if test "${string#*$substring}" != "$string"
then
return 0 # $substring is in $string
else
return 1 # $substring is not in $string
fi
}
branch=$CI_COMMIT_BRANCH
event=$CI_BUILD_EVENT
source_branch=$DRONE_SOURCE_BRANCH
docker login docker.pbiernat.dev -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
if { [ "$branch" = develop ] && [ "$event" = pull_request ]; } ; then
docker push docker.pbiernat.dev/nginx-php:$source_branch
return 0
fi
if { [ "$branch" = develop ] && [ "$event" = push ]; } ; then
docker push docker.pbiernat.dev/nginx-php:dev
return 0
fi

View File

@ -1,10 +1,8 @@
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/app/public;
location / {
# try to serve file directly, fallback to index.php
try_files $uri /index.php$is_args$args;
}
@ -14,7 +12,7 @@ server {
include fastcgi_params;
# optionally set the value of the environment variables used in the application
# fastcgi_param APP_ENV prod;
fastcgi_param APP_ENV dev;
# fastcgi_param APP_SECRET <app-secret-id>;
# fastcgi_param DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name";
@ -27,7 +25,8 @@ server {
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/index.php/some-path
# Remove the internal directive to allow URIs like this
internal;

View File

@ -2,6 +2,7 @@
logfile=/var/log/supervisord.log
pidfile=/var/run/supervisord.pid
nodaemon=false
user=root
[program:nginx]
command=/usr/sbin/nginx -g 'daemon off;'