From 72339da37a429309ec08cd70316c0f6520559e95 Mon Sep 17 00:00:00 2001 From: Gary Kwok Date: Fri, 26 Jan 2024 14:24:16 +0800 Subject: [PATCH] V2 --- main.yml | 2 +- roles/build_fastapi/tasks/main.yml | 54 ++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 roles/build_fastapi/tasks/main.yml diff --git a/main.yml b/main.yml index e17eab4..ee52c49 100644 --- a/main.yml +++ b/main.yml @@ -5,4 +5,4 @@ build_root_abspath: "/home/dietpi/build/{{ ansible_date_time.iso8601_basic_short }}" demobackend_version: "latest" roles: - - role: build_fastapi \ No newline at end of file + - role: build_fastapi diff --git a/roles/build_fastapi/tasks/main.yml b/roles/build_fastapi/tasks/main.yml new file mode 100644 index 0000000..c909361 --- /dev/null +++ b/roles/build_fastapi/tasks/main.yml @@ -0,0 +1,54 @@ +--- +- 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: Make sure requirements are met to run vmware_guest_snapshot module +# become: true +# pip: +# name: fastapi[all] +# state: present +- name: hello-world + 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: + - "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 }}"