bdb7d54505
- 新增SSH密钥库管理(集中托管私钥、自动指纹识别) - 新增模板中心(24个预置模板,7大分类,一键创建Playbook) - 新增文件分发功能(内容/文件双模式,权限设置) - 新增系统信息接口(版本/主机数/运行时间) - 主机支持密码/SSH密钥双认证方式 - 全新暗色玻璃拟态UI(侧边栏导航、SSE实时日志流) - 修复UpdateHost ID丢失bug - 添加.gitignore排除敏感数据
71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
---
|
|
- name: 部署Python应用
|
|
hosts: "{{ target_hosts | default('all') }}"
|
|
become: yes
|
|
vars:
|
|
app_name: myapp
|
|
app_dir: /opt/myapp
|
|
python_version: python3
|
|
venv_dir: /opt/myapp/venv
|
|
gunicorn_port: 8000
|
|
gunicorn_workers: 4
|
|
app_user: www-data
|
|
|
|
tasks:
|
|
- name: 安装Python和依赖
|
|
package:
|
|
name:
|
|
- "{{ python_version }}"
|
|
- "{{ python_version }}-venv"
|
|
- python3-pip
|
|
state: present
|
|
|
|
- name: 创建应用目录
|
|
file:
|
|
path: "{{ app_dir }}"
|
|
state: directory
|
|
owner: "{{ app_user }}"
|
|
mode: '0755'
|
|
|
|
- name: 创建虚拟环境
|
|
shell: "{{ python_version }} -m venv {{ venv_dir }}"
|
|
args:
|
|
creates: "{{ venv_dir }}/bin/activate"
|
|
|
|
- name: 安装Gunicorn
|
|
pip:
|
|
name: gunicorn
|
|
virtualenv: "{{ venv_dir }}"
|
|
|
|
- name: 创建Systemd服务
|
|
copy:
|
|
content: |
|
|
[Unit]
|
|
Description={{ app_name }} Gunicorn Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
User={{ app_user }}
|
|
WorkingDirectory={{ app_dir }}
|
|
ExecStart={{ venv_dir }}/bin/gunicorn --workers {{ gunicorn_workers }} --bind 0.0.0.0:{{ gunicorn_port }} app:app
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
dest: /etc/systemd/system/{{ app_name }}.service
|
|
notify: Restart App
|
|
|
|
- name: 启动服务
|
|
systemd:
|
|
name: "{{ app_name }}"
|
|
state: started
|
|
enabled: yes
|
|
daemon_reload: yes
|
|
|
|
handlers:
|
|
- name: Restart App
|
|
systemd:
|
|
name: "{{ app_name }}"
|
|
state: restarted
|
|
daemon_reload: yes
|