2017-03-23 1 views
0

내 첫 번째 질문에 전쟁을 구축 할 수 있습니다 :) 내가 프로비저닝 방랑 기계에 Ansible을 사용하고Ansible는 SO 커뮤니티에 방랑 시스템에서 Grails의에게

. 작업은 tomcat7에 grails war 파일을 배포하는 것입니다. 나는이 오류를 얻을 전쟁 파일을 구축 할 수있는 작업을 실행하면

: ./gradlew 전쟁을 나는 기계에 SSH를 방랑 경우

TASK [Build application] ******************************************************* fatal: [vagrant]: FAILED! => {"changed": true, "cmd": ["sh", "/home/vagrant/src/grailsw", "war"], "delta": "0:00:00.110227", "end": "2017-03-23 12:12:07.728096", "failed": true, "rc": 1, "start": "2017-03-23 12:12:07.617869", "stderr": "Error: Could not find or load main class org.grails.wrapper.GrailsWrapper", "stdout": "", "stdout_lines": [], "warnings": []} to retry, use: --limit @/home/user/work/scratch/vagrant/petclinic_ansible/playbook.retry

을하고 실행을 한 후 '전쟁 파일이 생성하지만 난 할 수 t 사용하여 war 파일을 생성 ansible 여기

내 방랑 파일 : 여기

Vagrant.configure("2") do |config| 

    config.vm.define "vagrant" do |config| 
     config.vm.box = "bento/ubuntu-16.04" 
     config.vm.network :private_network, ip: "192.168.10.10" 

     config.vm.provision "ansible" do |ansible| 
      ansible.playbook = "playbook.yml" 
     end 
    end 

    config.vm.provider "virtualbox" do |vb| 
     vb.memory = "1024" 
     vb.customize ["modifyvm", :id, "--cableconnected1", "on"] 
    end 
end 

그리고 내 playbook.yml

입니다
- hosts: all 
become: true 

    roles: 
     - java 
     - servers 

tasks: 
    - name: Make sure src directory doesn't exist 
     file: 
     path: /home/vagrant/src 
     state: absent 
     force: yes 

    - name: Pull repository 
     git: 
     repo: https://github.com/Rcsuax/grails-petclinic.git 
     dest: /home/vagrant/src 
     version: master 

    - name: Build application 
     become: true 
     command: ./home/vagrant/src/grailsw war 

답변

0

그래서 나는 왜 명령 확실하지 않다 : ./home/vagrant/src/grailsw 전쟁이 작동하지 않습니다하지만 쉘 모듈 명령 모듈을 교체하고, 지금 컴파일합니다. 바라기를 이것은 비슷한 문제를 가진 다른 누구에게나 유용합니다. 솔루션 :

- name: Build application 
    become: true 
    shell: ./grailsw war 
    args: 
     chdir: src/ 
     creates: target/petclinic-0.2.war 
    environment: 
     JAVA_HOME: /usr/lib/jvm/java-8-oracle