ansible roles项目部署
时间: 2023-11-17 15:57:14 浏览: 111
ansible项目
好的,针对ansible roles项目部署,我可以给你提供以下步骤:
1. 在ansible控制机上安装ansible
2. 编写ansible playbook,定义roles、hosts、tasks等信息
3. 在ansible控制机上配置hosts文件,指定目标主机
4. 执行ansible playbook,部署项目
具体步骤如下:
1. 在ansible控制机上安装ansible
```
$ sudo apt-get update
$ sudo apt-get install ansible
```
2. 编写ansible playbook
在ansible控制机上创建一个新的目录,用于存放playbook文件和roles文件夹。
```
$ mkdir myproject
$ cd myproject
```
在myproject目录下创建一个名为`site.yml`的文件,用于定义playbook。
```
---
- hosts: webserver
roles:
- common
- webapp
```
在myproject目录下创建一个名为`roles`的文件夹,用于存放roles。
```
$ mkdir roles
```
在roles目录下创建两个子目录,分别为`common`和`webapp`。
```
$ cd roles
$ mkdir common webapp
```
在common目录下创建一个名为`tasks`的文件夹,用于存放tasks。
```
$ cd common
$ mkdir tasks
```
在common/tasks目录下创建一个名为`main.yml`的文件,用于定义tasks。
```
---
- name: Install common packages
apt:
name: "{{ item }}"
state: present
with_items:
- python
- python-pip
- git
```
在webapp目录下创建一个名为`tasks`的文件夹,用于存放tasks。
```
$ cd ../webapp
$ mkdir tasks
```
在webapp/tasks目录下创建一个名为`main.yml`的文件,用于定义tasks。
```
---
- name: Clone webapp repository
git:
repo: https://github.com/myuser/myproject.git
dest: /var/www/myproject
version: master
become: yes
- name: Install webapp dependencies
pip:
requirements: /var/www/myproject/requirements.txt
become: yes
- name: Start webapp service
systemd:
name: myproject
state: started
enabled: yes
```
3. 在ansible控制机上配置hosts文件
在ansible控制机上打开/etc/ansible/hosts文件,添加目标主机的IP地址或域名。
```
[webserver]
192.168.1.100
```
4. 执行ansible playbook,部署项目
在myproject目录下执行以下命令,执行ansible playbook。
```
$ ansible-playbook site.yml
```
阅读全文