Files
demo-fastapi/roles/build_fastapi/tasks/main.yml

46 lines
1.2 KiB
YAML

---
- name: show remote host
debug:
msg: "the remote server is {{ ansible_host }}"
- name: create build dir if not exists
file:
path: "{{ build_root_abspath }}"
state: directory
- name: git clone
git:
repo: "https://pvggitea.duckdns.org/GiteaTeam/demo-fastapi.git"
dest: "{{ build_root_abspath }}"
remote: "origin"
version: "main"
- name: Create Python virtual environment
command:
cmd: /usr/bin/python3 -m venv "{{ build_root_abspath }}/venv"
creates: "{{ build_root_abspath }}/venv"
- name: install fastapi
command:
cmd: source "{{ build_root_abspath }}/venv/bin/activate"
cmd: pip install "fastapi[all]"
check_mode: false
- name: install Docker
command:
cmd: source "{{ build_root_abspath }}/venv/bin/activate"
cmd: pip install "docker"
check_mode: false
- name: Build container image
community.docker.docker_image:
name: helloworld-fastapi
source: build
build:
path: "{{ build_root_abspath }}"
pull: false
tag: "{{ demobackend_version }}"
- name: run docker
community.docker.docker_container:
name: demobackend
state: started
recreate: yes
image: "helloworld-fastapi:{{ demobackend_version }}"
ports:
- "8080:8080"