mirror of
https://github.com/geerlingguy/ansible-role-apache
synced 2025-01-09 03:10:19 +01:00
Merge commit '1ed033b2a86d6b4eded759d51385d296be1c0067' as 'lemp-rhel7/roles/ansible-role-drush'
This commit is contained in:
commit
c400dee02d
7 changed files with 206 additions and 0 deletions
42
lemp-rhel7/roles/ansible-role-drush/.travis.yml
Normal file
42
lemp-rhel7/roles/ansible-role-drush/.travis.yml
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
language: python
|
||||
python: "2.7"
|
||||
|
||||
env:
|
||||
- SITE=test.yml
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository ppa:ondrej/php5 -y
|
||||
- sudo apt-get update -q
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install curl
|
||||
|
||||
install:
|
||||
# Install Ansible.
|
||||
- pip install ansible
|
||||
|
||||
# Add ansible.cfg to pick up roles path.
|
||||
- "{ echo '[defaults]'; echo 'roles_path = ../'; } >> ansible.cfg"
|
||||
|
||||
# Install required dependencies.
|
||||
- ansible-galaxy install geerlingguy.php geerlingguy.composer geerlingguy.git
|
||||
|
||||
script:
|
||||
# Check the role/playbook's syntax.
|
||||
- "ansible-playbook -i tests/inventory tests/$SITE --syntax-check"
|
||||
|
||||
# Run the role/playbook with ansible-playbook.
|
||||
- "ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo"
|
||||
|
||||
# Run the role/playbook again, checking to make sure it's idempotent.
|
||||
- >
|
||||
ansible-playbook -i tests/inventory tests/$SITE --connection=local --sudo
|
||||
| grep -q 'changed=0.*failed=0'
|
||||
&& (echo 'Idempotence test: pass' && exit 0)
|
||||
|| (echo 'Idempotence test: fail' && exit 1)
|
||||
|
||||
# Check if drush is installed and working.
|
||||
- drush --version
|
||||
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
56
lemp-rhel7/roles/ansible-role-drush/README.md
Normal file
56
lemp-rhel7/roles/ansible-role-drush/README.md
Normal file
|
@ -0,0 +1,56 @@
|
|||
# Ansible Role: Drush
|
||||
|
||||
[![Build Status](https://travis-ci.org/geerlingguy/ansible-role-drush.svg?branch=master)](https://travis-ci.org/geerlingguy/ansible-role-drush)
|
||||
|
||||
Installs Drush, a command line shell and scripting interface for Drupal, on any Linux or UNIX system.
|
||||
|
||||
## Requirements
|
||||
|
||||
None.
|
||||
|
||||
## Role Variables
|
||||
|
||||
Available variables are listed below, along with default values (see `defaults/main.yml`):
|
||||
|
||||
drush_install_path: /usr/local/share/drush
|
||||
|
||||
The location of the entire drush installation (includes all the supporting files, as well as the `drush` executable file.
|
||||
|
||||
drush_path: /usr/local/bin/drush
|
||||
|
||||
The path where drush will be installed and available to your system. Should be in your user's `$PATH` so you can run commands simply with `drush` instead of the full path.
|
||||
|
||||
drush_version: "master"
|
||||
|
||||
The version of Drush to install (examples: `"master"` for the bleeding edge, `"7.x"`, `"6.x"`, `"6.2.0"`). This should be a string as it refers to a git branch, tag, or commit hash.
|
||||
|
||||
drush_keep_updated: no
|
||||
drush_force_update: no
|
||||
|
||||
Whether to keep Drush up-to-date with the latest revision of the branch specified by `drush_version`, and whether to force the update (e.g. overwrite local modifications to the drush repository).
|
||||
|
||||
drush_composer_cli_options: "--prefer-source --no-interaction"
|
||||
|
||||
These options are the safest for avoiding GitHub API rate limits when installing Drush, and can be very helpful when working on dependencies/installation, but builds can be sped up substantially by changing the first option to --prefer-dist.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- geerlingguy.git (Installs Git).
|
||||
- geerlingguy.php (Installs PHP).
|
||||
- geerlingguy.composer (Installs Composer).
|
||||
|
||||
## Example Playbook
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: geerlingguy.drush }
|
||||
|
||||
After the playbook runs, the `drush` command will be accessible from normal system accounts.
|
||||
|
||||
## License
|
||||
|
||||
MIT / BSD
|
||||
|
||||
## Author Information
|
||||
|
||||
This role was created in 2014 by [Jeff Geerling](http://jeffgeerling.com/), author of [Ansible for DevOps](http://ansiblefordevops.com/).
|
10
lemp-rhel7/roles/ansible-role-drush/defaults/main.yml
Normal file
10
lemp-rhel7/roles/ansible-role-drush/defaults/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
drush_install_path: /usr/local/share/drush
|
||||
drush_path: /usr/local/bin/drush
|
||||
drush_version: "master"
|
||||
drush_keep_updated: no
|
||||
drush_force_update: no
|
||||
|
||||
# These options are the safest for avoiding GitHub API rate limits, but builds
|
||||
# can be sped up substantially by changing to --prefer-dist.
|
||||
drush_composer_cli_options: "--prefer-source --no-interaction"
|
46
lemp-rhel7/roles/ansible-role-drush/meta/main.yml
Normal file
46
lemp-rhel7/roles/ansible-role-drush/meta/main.yml
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
dependencies:
|
||||
- geerlingguy.git
|
||||
- geerlingguy.php
|
||||
- geerlingguy.composer
|
||||
|
||||
galaxy_info:
|
||||
author: geerlingguy
|
||||
description: Drush - command line shell for Drupal
|
||||
company: "Midwestern Mac, LLC"
|
||||
license: "license (BSD, MIT)"
|
||||
min_ansible_version: 1.4
|
||||
platforms:
|
||||
- name: EL
|
||||
versions:
|
||||
- all
|
||||
- name: GenericUNIX
|
||||
versions:
|
||||
- all
|
||||
- name: Fedora
|
||||
versions:
|
||||
- all
|
||||
- name: opensuse
|
||||
versions:
|
||||
- all
|
||||
- name: GenericBSD
|
||||
versions:
|
||||
- all
|
||||
- name: FreeBSD
|
||||
versions:
|
||||
- all
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- all
|
||||
- name: SLES
|
||||
versions:
|
||||
- all
|
||||
- name: GenericLinux
|
||||
versions:
|
||||
- all
|
||||
- name: Debian
|
||||
versions:
|
||||
- all
|
||||
galaxy_tags:
|
||||
- development
|
||||
- web
|
38
lemp-rhel7/roles/ansible-role-drush/tasks/main.yml
Normal file
38
lemp-rhel7/roles/ansible-role-drush/tasks/main.yml
Normal file
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
- name: Clone Drush from GitHub.
|
||||
git:
|
||||
repo: https://github.com/drush-ops/drush.git
|
||||
dest: "{{ drush_install_path }}"
|
||||
version: "{{ drush_version }}"
|
||||
update: "{{ drush_keep_updated }}"
|
||||
force: "{{ drush_force_update }}"
|
||||
register: drush_clone
|
||||
|
||||
- name: Check for composer.json
|
||||
stat: path={{ drush_install_path }}/composer.json
|
||||
register: drush_composer
|
||||
|
||||
# See: https://github.com/geerlingguy/ansible-role-drush/issues/6
|
||||
- name: Ensure Drush can be installed on Debian Wheezy.
|
||||
shell: >
|
||||
{{ composer_path }} update {{ drush_composer_cli_options }}
|
||||
chdir={{ drush_install_path }}
|
||||
when: drush_clone.changed and ansible_distribution == "Debian" and ansible_distribution_release == "wheezy" and drush_composer.stat.exists
|
||||
|
||||
- name: Install Drush dependencies with Composer.
|
||||
shell: >
|
||||
{{ composer_path }} install {{ drush_composer_cli_options }}
|
||||
chdir={{ drush_install_path }}
|
||||
when: drush_clone.changed and drush_composer.stat.exists
|
||||
|
||||
- name: Create drush symlink.
|
||||
file:
|
||||
src: "{{ drush_install_path }}/drush"
|
||||
dest: "{{ drush_path }}"
|
||||
state: link
|
||||
|
||||
- name: Run drush to finish setting it up.
|
||||
command: "{{ drush_path }}"
|
||||
register: drush_result
|
||||
changed_when: "'Execute a drush command' not in drush_result.stdout"
|
||||
become: no
|
1
lemp-rhel7/roles/ansible-role-drush/tests/inventory
Normal file
1
lemp-rhel7/roles/ansible-role-drush/tests/inventory
Normal file
|
@ -0,0 +1 @@
|
|||
localhost
|
13
lemp-rhel7/roles/ansible-role-drush/tests/test.yml
Normal file
13
lemp-rhel7/roles/ansible-role-drush/tests/test.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
|
||||
vars:
|
||||
php_enable_webserver: false
|
||||
php_opcache_enable: "0"
|
||||
|
||||
roles:
|
||||
- geerlingguy.php
|
||||
- geerlingguy.composer
|
||||
- geerlingguy.git
|
||||
- ansible-role-drush
|
Loading…
Reference in a new issue