06.05.2021 · Tech

Automatische WordPress Deployments auf DigitalOcean App Platform

WordPress vorbereiten

# create a new wordpress project
$ composer create-project roots/bedrock wordpress-digitalocean

# install plugins
$ composer require wpackagist-theme/twentyeleven
$ composer require yoast/wordpress-seo
$ composer require wpackagist-plugin/amazon-s3-and-cloudfrontCode-Sprache: PHP (php)

Docker-Container erstellen

FROM php:7-fpm-buster

WORKDIR /var/www
COPY --chown=www-data:www-data . /var/www

RUN apt-get update && \
    apt-get install -y --no-install-recommends nginx wget libzip-dev && \
    cat docker/nginx-site.conf > /etc/nginx/sites-enabled/default && \
    docker-php-ext-install zip mysqli && \
    nginx -t && \
    wget https://getcomposer.org/composer-stable.phar -O /usr/bin/composer && \
    chmod +x /usr/bin/composer && \
    composer install && \
    rm -rf /var/www/html /var/lib/apt/lists/*

CMD ["/var/www/docker/entrypoint"]

EXPOSE 80Code-Sprache: PHP (php)
 server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/web;

    index index.php;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}Code-Sprache: PHP (php)
$ git init
$ git remote add origin git@gitlab.com:whatwedo/wordpress-digitalocean.git
$ git add .
$ git commit -m "Initial commit"
$ git push -u origin masterCode-Sprache: JavaScript (javascript)

Datenbank erstellen

Datenbank Cluster erstellen
Datenbank Cluster verbinden

DigitalOcean App erstellen

Quellen auswählen
Repository und Branch wählen
Datenbank mit App verknüpfen
Umgebungsvariablen konfigurieren
Web Service benennen
Droplet Grösse wählen
Stand des Deployments Live Anzeige

WordPress Installation

Erfolgreiche Installation einer WordPress Instanz

DigitalOcean Spaces anbinden

Fazit


Alternativen zu DigitalOcean App Platform