Experiment with full pre-deploy setup
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Luke Murphy 2020-04-06 10:58:55 +02:00
parent 741df0045b
commit caa1e521ad
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
4 changed files with 53 additions and 40 deletions

View File

@ -6,6 +6,8 @@ WORKDIR /usr/src/app
COPY . ${WORKDIR} COPY . ${WORKDIR}
COPY sbin/* /sbin/
RUN bundle config --global frozen 1 RUN bundle config --global frozen 1
RUN bundle install RUN bundle install

View File

@ -1,40 +0,0 @@
---
- hosts: all
gather_facts: false
tasks:
- name: Load variables
include_vars:
dir: "{{ dokku_lib_root }}/data/ansible/autonomic.zone/vars/"
extensions:
- yml
- name: Set HTTP 80 port proxy
dokku_ports:
app: autonomic.zone
mappings:
- "http:80:{{ http_port }}"
state: present
- name: Setup LE certificates
shell: dokku letsencrypt autonomic.zone
args:
creates: /home/dokku/autonomic.zone/letsencrypt/certs
- name: Setup LE certificates renew cron job
shell: dokku letsencrypt:cron-job --add
args:
creates: /home/dokku/autonomic.zone/letsencrypt/cron-job
- name: Remove automatically configured ports
dokku_ports:
app: autonomic.zone
mappings:
- "http:4000:4000"
state: absent
- name: Set HTTP 443 port
dokku_ports:
app: autonomic.zone
mappings:
- "https:443:{{ http_port }}"
state: present

View File

@ -35,9 +35,58 @@
- "{{ domain }}" - "{{ domain }}"
state: present state: present
- name: Ensure default app configured domains go away
dokku_domains:
app: autonomic.zone
domains:
- autonomic.zone.dokku.autonomic.zone
state: absent
- name: Set HTTP 80 port proxy
dokku_ports:
app: autonomic.zone
mappings:
- "http:80:{{ http_port }}"
state: present
- name: Remove automatically configured ports
dokku_ports:
app: autonomic.zone
mappings:
- "http:4000:4000"
state: absent
- name: Setup LE certificates
shell: dokku letsencrypt autonomic.zone
args:
creates: /home/dokku/autonomic.zone/letsencrypt/certs
- name: Setup LE certificates renew cron job
shell: dokku letsencrypt:cron-job --add
args:
creates: /home/dokku/autonomic.zone/letsencrypt/cron-job
- name: Set HTTP 443 port
dokku_ports:
app: autonomic.zone
mappings:
- "https:443:{{ http_port }}"
state: present
- name: Specify docker volume mounts
dokku_storage:
app: autonomic.zone
mounts:
- /home/dokku/autonomic.zone/letsencrypt/certs/current/key.pem:/etc/x509/https/tls.key
- /home/dokku/autonomic.zone/letsencrypt/certs/current/cert.pem:/etc/x509/https/tls.crt
- name: Configure the dokku app environment - name: Configure the dokku app environment
dokku_config: dokku_config:
app: autonomic.zone app: autonomic.zone
restart: false restart: false
config: config:
DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}" DOKKU_LETSENCRYPT_EMAIL: "{{ autonomic_admin_mail }}"
JEKYLL_HOST: "{{ domain }}"
JEKYLL_PORT: "{{ http_port }}"
JEKYLL_SSL_CERT: "{{ ssl_cert_path }}"
JEKYLL_SSL_KEY: "{{ ssl_key_path }}"

View File

@ -4,3 +4,5 @@ autonomic_admin_mail: "helo@autonomic.zone"
dokku_domain_ipv4: "94.130.105.60" dokku_domain_ipv4: "94.130.105.60"
domain: "site.autonomic.zone" domain: "site.autonomic.zone"
http_port: "4000" http_port: "4000"
ssl_cert_path: "/etc/x509/https/tls.crt"
ssl_key_path: "/etc/x509/https/tls.key"