Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env ansible-playbook
- ---
- - name: Root setup tasks
- hosts: all
- remote_user: LoadTest
- become: yes
- tasks:
- - name: Update all packages
- package: state=latest name=*
- - name: Install necessary programs
- package:
- state: latest
- name: "{{ item }}"
- loop:
- - git
- - openjdk-8-jdk-headless
- - gradle
- - name: User setup tasks
- hosts: all
- remote_user: LoadTest
- vars_files:
- - variables.yml
- vars_prompt:
- - name: nexus_user
- prompt: "Nexus Username"
- private: no
- - name: nexus_passwd
- prompt: "Nexus Password"
- private: yes
- tasks:
- - name: Create .ssh directory
- file:
- path: ~/.ssh/
- state: directory
- - name: Save default ssh-public-key in authorized_keys to SSH without passwort prompt
- copy:
- # src: ./key
- src: ~/.ssh/id_rsa.pub
- # content: "{{ ssh_pub_key }}"
- dest: ~/.ssh/authorized_keys
- - name: Clone git project
- git:
- # repo: "https://{{ git_user | urlencode }}:{{ git_passwd | urlencode }}@{{ git_repositoy }}"
- repo: "https://gitlab-ci-token:{{ gitlab_token }}@{{ git_repositoy }}"
- dest: ~/project
- force: yes
- version: "{{ git_repositoy_branch }}"
- - name: Find script files and make them executable
- shell: find . \( -name "*.sh" -o -name "gradlew" \) -exec chmod u+x {} +
- - name: Create nexus credentials file from template
- template:
- src: templates/credentials.properties.j2
- dest: ~/project/credentials.properties
- - name: Agent-Tasks
- hosts: agents
- remote_user: LoadTest
- tasks:
- - name: Start AgentController
- shell: cd project && nohup ./gradlew agentControllerStart &
- - name: Waiting for agentController-process (max 3min)
- command: pgrep -f selenium
- retries: 30
- delay: 6
- register: exitStatus
- until: exitStatus.rc == 0
- - name: Master-Tasks
- hosts: master
- remote_user: LoadTest
- tasks:
- - name: Copy quality-agents.properties
- template:
- src: templates/mastercontroller.properties.j2
- dest: ~/project/config/mastercontroller.properties
- - name: Copy mastercrontoller.properties
- template:
- src: templates/quality-agent.properties.js
- dest: ~/project/loadtest/quality-agent.properties
- - name: Start loadtest
- shell: cd project && ./gradlew loadtest
- - name: Pull reports
- synchronize:
- mode: pull
- src: ~/project/loadtest/reports/
- dest: ~/loadtest_reports/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement