43 lines
1.2 KiB
YAML
43 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]"
|
|
- name: install Docker
|
|
command:
|
|
cmd: source "{{ build_root_abspath }}/venv/bin/activate"
|
|
cmd: pip install "docker"
|
|
- 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
|
|
docker_container:
|
|
name: demobackend
|
|
state: started
|
|
recreate: yes
|
|
image: "helloworld-fastapi:{{ demobackend_version }}"
|
|
ports:
|
|
- "80:80"
|