First push

This commit is contained in:
WilliamMiceli
2019-10-18 22:16:54 -04:00
parent 10d9caeb07
commit 991b02e3c2
4 changed files with 87 additions and 0 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
*/.git/*

49
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,49 @@
image: docker:latest
stages:
- Build Base
- Push Images
0-build-base:
stage: Build Base
artifacts:
expire_in: 1 week
paths:
- ./images/
tags:
- docker
before_script:
- mkdir ./images
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
- docker save --output "./images/$CI_COMMIT_SHORT_SHA.tar" "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
1A-push-version:
stage: Push Images
dependencies:
- 0-build-base
tags:
- docker
when: manual
before_script:
- docker load --input "./images/$CI_COMMIT_SHORT_SHA.tar"
- docker load --input "./images/$CI_COMMIT_SHORT_SHA-git.tar"
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
script:
- docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$CI_JOB_ID"
- docker push "$CI_REGISTRY_IMAGE:$CI_JOB_ID"
1B-push-latest:
stage: Push Images
dependencies:
- 0-build-base
tags:
- docker
when: manual
before_script:
- docker load --input "./images/$CI_COMMIT_SHORT_SHA.tar"
- docker load --input "./images/$CI_COMMIT_SHORT_SHA-git.tar"
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
script:
- docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest"
- docker push "$CI_REGISTRY_IMAGE:latest"

24
Dockerfile Normal file
View File

@@ -0,0 +1,24 @@
FROM nginx:1.16
USER root
WORKDIR /var/www
# MySQL 5.7 (Homefully not version 8...)
RUN apt-get update && apt-get install mysql-server -y
# Configure NGINX
ADD https://raw.githubusercontent.com/getgrav/grav/c381bc83040e00c9a8ebe91ac3bda5fe0c217197/webserver-configs/nginx.conf /etc/nginx/conf.d/default.conf
RUN sed -i 's/root \/home\/USER\/www\/html/root \/var\/www/g' /etc/nginx/conf.d/default.conf \
&& sed -i 's/fastcgi_pass unix:\/var\/run\/php\/php7.2-fpm.sock;/fastcgi_pass unix:\/var\/run\/php-fpm.sock;/g' /etc/nginx/conf.d/default.conf \
&& sed -i 's/#listen 80;/listen 80;/g' /etc/nginx/conf.d/default.conf \
&& sed -i '23cuser = nginx' /etc/php7/php-fpm.d/www.conf \
&& sed -i '24cgroup = nginx' /etc/php7/php-fpm.d/www.conf \
&& sed -i '47clisten.owner = nginx' /etc/php7/php-fpm.d/www.conf \
&& sed -i '48clisten.group = nginx' /etc/php7/php-fpm.d/www.conf \
&& sed -i '49clisten.mode = 0660' /etc/php7/php-fpm.d/www.conf \
&& sed -i 's/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm.sock/g' /etc/php7/php-fpm.d/www.conf
COPY /entrypoint.sh /
# Expose Insecure Web, MySQL Server
EXPOSE 80 3306
CMD ["/bin/sh", "/entrypoint.sh"]

13
entrypoint.sh Normal file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
echo "[ INFO ] Recursively setting default nginx:nginx permissions on web directory"
chown -R nginx:nginx /var/www
echo "[ INFO ] Starting PHP-FPM"
php-fpm7 -D # Background
echo "[ INFO ] Starting cron"
crond # Background
echo "[ INFO ] Starting nginx"
nginx -g "daemon off;" # Foreground