forked from yungez/ansible-testapp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ansible-fest.yml
71 lines (62 loc) · 2.07 KB
/
ansible-fest.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# ansible-configured
- hosts: localhost
connection: local
vars:
resource_group: ansiblefest-demo-webapp
app_name: ansiblefest2
location: eastus
plan_resource_group: ansiblefest-demo-plan
linux_plan_name: linux_appplan1
repo_url: https://github.com/yungezz/helloworld.git
branch_name: tomcat-on-azure-app-service-linux
workspace: /home/yungez/helloworld
roles:
- azure_preview_modules
tasks:
- name: Create second resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create a resource group
azure_rm_resourcegroup:
name: "{{ plan_resource_group }}"
location: "{{ location }}"
- name: Create a linux web app Java framework and Tomcat
azure_rm_webapp:
resource_group: "{{ resource_group }}"
name: "{{ app_name }}"
plan:
resource_group: "{{ plan_resource_group }}"
name: "{{ linux_plan_name }}"
is_linux: true
sku: S1
number_of_workers: 2
app_settings:
testkey: "testvalue"
frameworks:
- name: java
version: 8
settings:
java_container: "Tomcat"
java_container_version: "8.5"
- name: Get web app facts
azure_rm_webapp_facts:
resource_group: "{{ resource_group }}"
name: "{{ app_name }}"
return_publish_profile: true
no_log: true
register: webapp
- name: git clone sample url
git:
repo: "{{ repo_url }}"
dest: "{{ workspace }}"
# version: "{{ branch_name }}"
- name: build sample app
shell: mvn package chdir="{{ workspace }}"
- name: deploy sample app to web app via ftp
shell: curl -T "{{ workspace }}/target/demo-0.0.1-SNAPSHOT.war" {{ webapp.webapps[0].publish_url }}/webapps/hello.war --user '{{ webapp.webapps[0].publishing_username }}:{{ webapp.webapps[0].publishing_password }}'
- name: restart the web app
azure_rm_webapp:
resource_group: "{{ resource_group }}"
name: "{{ app_name }}"
app_state: restarted