사용자 도구

사이트 도구


gant:tasks

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gant:tasks [2012/10/22 16:36]
kwon37xi [TaskDef]
gant:tasks [2013/12/12 13:35] (현재)
kwon37xi [SSH 관련 보안]
줄 16: 줄 16:
 ant.echo(level: 'error', """이런 저런 메시지들을 ant.echo(level: 'error', """이런 저런 메시지들을
 출력해 봅시다!""") 출력해 봅시다!""")
 +</code>
 +
 +===== taskname =====
 +Ant에서 표준출력으로 내보낼 때 ''[echo] blah.. blah..'' 처럼 맨 앞에 태스크 이름이 나온다. ''taskname'' 속성을 통해 이를 조정할 수 있다.
 +<code groovy>
 +ant.echo(message: 'Hello World', taskname: 'echo:hello')
 +</code>
 +
 +결과는..
 +
 +<code>
 +[echo:hello] Hello World
 </code> </code>
  
줄 22: 줄 34:
   * [[http://ant.apache.org/manual/develop.html|Writing Your Own Task]]   * [[http://ant.apache.org/manual/develop.html|Writing Your Own Task]]
   * [[gant:antlib|Gant Ant Libraries]]   * [[gant:antlib|Gant Ant Libraries]]
 +
 +==== 클래스 이름 기반 taskdef ====
 +groovyc 태스크를 등록하는 것으로 알아본다. ''classpath'' 혹은 ''classpathref''로 해당 태스크가 속한 라이브러리의 클래스패스를 지정할 수 있다.
 +
 +<code groovy>
 +
 +taskdef(name: 'groovyc', classname: 'org.codehaus.groovy.ant.Groovyc')
 +
 +target(compile: 'Compile Groovy sources') {
 +    File dest = new File('classes')
 +    dest.mkdirs()
 +    File lib = new File('lib')
 +    lib.mkdirs()
 +
 +    groovyc(srcdir: 'src', destdir: 'classes') {
 +        classpath {
 +            fileset(dir: 'lib') {
 +                include(name: '*.jar')
 +            }
 +            pathelement(path: 'classes')
 +        }
 +    }
 +}
 +</code>
 +
  
 ===== input ===== ===== input =====
줄 80: 줄 117:
   * 실행시 ''com.jcraft.jsch.JSchException: reject HostKey:'' 오류가 발생한다면 ''trust: true'' 옵션을 지정한다.   * 실행시 ''com.jcraft.jsch.JSchException: reject HostKey:'' 오류가 발생한다면 ''trust: true'' 옵션을 지정한다.
   * ''ant.sshexec''로 명시적으로 ant 를 지정해야만 작동한다.   * ''ant.sshexec''로 명시적으로 ant 를 지정해야만 작동한다.
 +  * 위에 설명한 ''taskname'' 속성을 통해 접속중인 호스트명을 출력해주면 좋다.
  
 ==== 명령 사용자명/비밀번호 직접 지정방식 ==== ==== 명령 사용자명/비밀번호 직접 지정방식 ====
줄 167: 줄 205:
  
 ===== SSH 관련 보안 ===== ===== SSH 관련 보안 =====
-  * ''sshexec''와 ''scp''에 사용자명과 비밀번호 ''passphrase''를 직접 넣어 두는 것은 보안상 좋지 않다.+  * ''sshexec''와 ''scp'' 사용시 빌드 파일에 사용자명과 비밀번호''passphrase'' 등을 직접 넣어 두는 것은 보안상 좋지 않다.
   * 두가지 방법으로 해결한다.   * 두가지 방법으로 해결한다.
     * 위에서 설명한 ''input'' 태스크를 사용하여 프라퍼티로 만든 뒤에, 사용자명, 비밀번호 등은 실행시 입력 받아서 Ant 프라퍼티로 전달하는 것이 좋다. - 제일 좋다.     * 위에서 설명한 ''input'' 태스크를 사용하여 프라퍼티로 만든 뒤에, 사용자명, 비밀번호 등은 실행시 입력 받아서 Ant 프라퍼티로 전달하는 것이 좋다. - 제일 좋다.
-    * ''gant -D username=사용자명 -D password=비밀번호'' 형태로 명령행에서 Ant 프라퍼티를 입력받고, 이 값을 사용한다. - 다른 사용자가 ''ps'' 명령으로 명령행 옵션을 보는 것이 가능하다.+    * ''gant -D username=사용자명 -D password=비밀번호'' 형태로 명령행에서 Ant 프라퍼티를 입력받고, 이 값을 사용한다. - 다른 사용자가 ''ps''나 ''history'' 명령으로 명령행 옵션을 보는 것이 가능하다.
  
 <code groovy> <code groovy>
gant/tasks.1350891393.txt.gz · 마지막으로 수정됨: 2012/10/22 16:36 저자 kwon37xi