보안을 위해 서버 패스워드 같은 민감한 데이터를 pom.xml에서 감추는 방법.

1. 사용되는 부분을 프로퍼티로 처리하고 

<sshexec host="myserver" username="admin" password="${wasserver.password}"  command="xxxx" />

 mvn 실행시 -D옵션으로 값을 넘겨준다.

mvn deploy -Dwasserver.password=xxx

(그러나 허드슨 사용 환경에서 허드슨 빌드 console 화면에 데이터가 노출되는 문제가 있다)

2. 감추려는 데이터가 서버 접속 정보라면 settings.xml에 서버정보를 설정하여 pom.xml에서 데이터를 감출수 있다.

<settings> 
  <servers>
    <server>
      <id>server001</id>
      <username>my_login</username>
      <password>my_password</password>
      <privateKey>${user.home}/.ssh/id_dsa</privateKey>
      <passphrase>some_passphrase</passphrase>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
      <configuration></configuration>
    </server>
  </servers>
  ...
</settings>
Posted by 에코지오
,

보통은 pom.xml 빌드스크립트를 프로젝트 root에 포함하지만, 개발자에게 노출되는게 싫다거나 하는 등의 이유로 외부로 빼내고 싶을 때가 있다.

그렇다면 허드슨은 프로젝트 외부에 있는 pom.xml을 이용해서 프로젝트를 빌드할 수 있는가?
허드슨에서 pom.xml의 위치를 절대 경로로 줄 수 있는가?

만약 job 타입이 maven 타입이면 불가능하다. 무조건 workspace에 대한 상대경로여야 한다. 그러니까 닥치고 프로젝트 안에만 있어야 한다는 거다. ../../my/path/pom.xml 이런 거 안통한다.

다행히 job 타입이 free style이면 pom.xml을 workspace 밖에 두는 것이 가능하다.
http://www.nabble.com/Dynamic-Views-of-Clear-Case--%3E-workspace-empty-!-td16350453.html

Posted by 에코지오
,