50 lines
1.3 KiB
YAML
50 lines
1.3 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: hello-world
|
|
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_image:
|
|
name: demobackend
|
|
state: started
|
|
recreate: yes
|
|
image: "helloworld-fastapi:{{ demobackend_version }}"
|
|
ports:
|
|
- "8080:8080"
|
|
- name: wait for the api ready
|
|
wait_for:
|
|
host: 0.0.0.0
|
|
port: 8080
|
|
delay: 10
|
|
- name: testing api locally
|
|
shell: "curl -k localhost:8080"
|
|
register: reg_curl_result
|
|
- name: show curl result
|
|
debug:
|
|
msg: "{{ reg_curl_result.stdout }}"
|