add ability to build image
Some checks failed
Deploy Containers / Prepare (push) Failing after 19s

This commit is contained in:
2025-11-19 16:44:47 -05:00
parent a8e6ed70ab
commit 31f2b51b37
2 changed files with 55 additions and 49 deletions

View File

@@ -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 }}"

View File

@@ -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"