浏览代码

add official nginx ppa for ubuntu

adds ppa:nginx to apt repositories when
nginx_use_ppa is set to yes (default no)

nginx_ppa_version can be either "stable" or "development"

this will reinstall nginx if ppa was just added to ensure that the ppa
version will be installed
Frederik Wille 10 年之前
父节点
当前提交
3063875875
共有 4 个文件被更改,包括 19 次插入1 次删除
  1. 3 0
      defaults/main.yml
  2. 3 0
      tasks/main.yml
  3. 11 0
      tasks/setup-Ubuntu.yml
  4. 2 1
      tests/test.yml

+ 3 - 0
defaults/main.yml

@@ -50,3 +50,6 @@ nginx_upstreams: []
 #     "srv2.example.com weight=3",
 #     "srv3.example.com"
 #   }
+
+nginx_ppa_version: stable
+nginx_use_ppa: false

+ 3 - 0
tasks/main.yml

@@ -12,6 +12,9 @@
 - include: setup-RedHat.yml
   when: ansible_os_family == 'RedHat'
 
+- include: setup-Ubuntu.yml
+  when: ansible_distribution == 'Ubuntu'
+
 - include: setup-Debian.yml
   when: ansible_os_family == 'Debian'
 

+ 11 - 0
tasks/setup-Ubuntu.yml

@@ -0,0 +1,11 @@
+---
+  - name: Add PPA for Nginx.
+    apt_repository: repo='ppa:nginx/{{ nginx_ppa_version }}' state=present update_cache=yes
+    register: added_ppa
+    when: nginx_use_ppa
+
+  - name: ensure nginx is not installed when the ppa was just added
+    apt:
+      pkg: nginx
+      state: absent
+    when: added_ppa.changed

+ 2 - 1
tests/test.yml

@@ -2,4 +2,5 @@
 - hosts: localhost
   remote_user: root
   roles:
-    - ansible-role-nginx
+    - role: ansible-role-nginx
+      nginx_use_ppa: true