This commit is contained in:
@@ -5,6 +5,25 @@
|
|||||||
state: directory
|
state: directory
|
||||||
with_items: "{{ directories }}"
|
with_items: "{{ directories }}"
|
||||||
|
|
||||||
|
- name: Clone repository
|
||||||
|
git:
|
||||||
|
repo: "{{ build.git.repo }}"
|
||||||
|
dest: "{{ build.git.dest }}"
|
||||||
|
when: build is defined
|
||||||
|
|
||||||
|
- name: Build Docker Image
|
||||||
|
docker_image:
|
||||||
|
name: "{{ image.name }}"
|
||||||
|
tag: "{{ image.tag }}"
|
||||||
|
build:
|
||||||
|
nocache: true
|
||||||
|
path: "{{ build.git.dest }}"
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
source: build
|
||||||
|
force_source: true
|
||||||
|
state: present
|
||||||
|
when: build is defined
|
||||||
|
|
||||||
- name: Pull latest Docker image
|
- name: Pull latest Docker image
|
||||||
docker_image:
|
docker_image:
|
||||||
name: "{{ image.name }}"
|
name: "{{ image.name }}"
|
||||||
|
|||||||
@@ -1,49 +1,15 @@
|
|||||||
---
|
---
|
||||||
- name: "Create file structure"
|
- name: Deploy API Database
|
||||||
file:
|
include_role:
|
||||||
path: "{{ item }}"
|
name: docker
|
||||||
state: directory
|
vars:
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/api"
|
|
||||||
- "{{ data_dir }}/api/db"
|
|
||||||
- "{{ data_dir }}/api/app"
|
|
||||||
|
|
||||||
- name: "Clone latest API"
|
|
||||||
git:
|
|
||||||
repo: git@git.alexav.gg:alex/api.git
|
|
||||||
dest: "{{ data_dir }}/api/app"
|
|
||||||
|
|
||||||
- name: "Build API Docker Image"
|
|
||||||
docker_image:
|
|
||||||
name: api
|
|
||||||
tag: "latest"
|
|
||||||
build:
|
|
||||||
nocache: true
|
|
||||||
path: "{{ data_dir }}/api/app"
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
source: build
|
|
||||||
force_source: true
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Create API Network
|
|
||||||
docker_network:
|
|
||||||
name: api
|
|
||||||
|
|
||||||
- name: Deploy Redis Container
|
|
||||||
docker_container:
|
|
||||||
name: api_redis
|
|
||||||
image: redis:latest
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
networks:
|
|
||||||
- name: api
|
|
||||||
|
|
||||||
- name: Deploy Database Container
|
|
||||||
docker_container:
|
|
||||||
name: api_postgres
|
name: api_postgres
|
||||||
image: postgres:latest
|
network_name: api
|
||||||
restart_policy: unless-stopped
|
directories:
|
||||||
recreate: true
|
- "{{ data_dir }}/api/db"
|
||||||
|
image:
|
||||||
|
name: postgres
|
||||||
|
tag: latest
|
||||||
networks:
|
networks:
|
||||||
- name: api
|
- name: api
|
||||||
volumes:
|
volumes:
|
||||||
@@ -53,15 +19,36 @@
|
|||||||
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
POSTGRES_PASSWORD: "{{ API_POSTGRES_PASSWORD }}"
|
||||||
PGDATA: "/var/lib/postgresql/data/pgdata"
|
PGDATA: "/var/lib/postgresql/data/pgdata"
|
||||||
|
|
||||||
- name: Deploy API Container
|
- name: Deploy API Redis
|
||||||
docker_container:
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
|
name: api_redis
|
||||||
|
network_name: api
|
||||||
|
directories:
|
||||||
|
- "{{ data_dir }}/api/db"
|
||||||
|
image:
|
||||||
|
name: redis
|
||||||
|
tag: latest
|
||||||
|
networks:
|
||||||
|
- name: api
|
||||||
|
|
||||||
|
- name: Deploy API
|
||||||
|
include_role:
|
||||||
|
name: docker
|
||||||
|
vars:
|
||||||
name: api
|
name: api
|
||||||
image: api:latest
|
network_name: api
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
networks:
|
networks:
|
||||||
- name: api
|
- name: api
|
||||||
- name: "{{ docker_network_name }}"
|
- name: "{{ docker_network_name }}"
|
||||||
|
build:
|
||||||
|
git:
|
||||||
|
repo: git@git.alexav.gg:alex/api.git
|
||||||
|
dest: "{{ data_dir }}/api/app"
|
||||||
|
image:
|
||||||
|
name: api
|
||||||
|
tag: latest
|
||||||
env:
|
env:
|
||||||
NODE_ENV: "production"
|
NODE_ENV: "production"
|
||||||
VERSION: "v4"
|
VERSION: "v4"
|
||||||
|
|||||||
Reference in New Issue
Block a user