2012-08-13 4 views
7

생성 된 jar에 자동으로 서명하기 위해 buildserver (Jenkins)에서 작업을 설정하려고합니다.자동화 된 "안전한"코드 서명

명백한 이유로 나는 인증서 및 자격 증명을 버전 관리에 넣거나 작업 구성에서 읽을 수있는 권한을 넣고 싶지 않습니다.

이상적으로 저는 빌드 서버가 항아리를 보내 서명 할 수있는 "서명 서버"를 갖고 싶습니다.

설명서에 따르면 Eclipse 프로젝트에는 system like that이 있습니다. 그러나 그들이 사용하는 기술에 대한 언급은 없습니다.

아무도 "노래 서버"솔루션이나이 문제를 해결하는 다른 방법을 알고 있습니까?

답변

1

기존 솔루션에 대해 확실하지 않습니다. 그러나 하루 내에 독자적으로 솔루션을 만들 수 있다고 생각합니다.

Machine A는 Jenkins를 실행하고 공유 폴더가 있습니다. 머신 B는 Apache/PHP와 같은 모든 응용 프로그램/웹 서버를 실행하며 서명 키.

젠킨스 작업의 일환으로 당신이 다음을 수행 행동이 :가) 실행 쉘 스크립트) 공유 폴더 B에 항아리를 복사 "wget과에 http : // machineBURL /sign.php?filename=SomeJar.jar"

머신 B에서 PHP 스크립트를 가지고 있습니다. PHP 스크립트는 전달 된 파일 이름을 가지며, 공유 폴더에서이 파일 이름을 가진 항아리를 가져 와서 서명하고 다시 같은 폴더에 저장합니다. PSERVER를 사용하여 eclipse.org 서명 준비 영역에 $ {buildId} .ZIP -

1

Eclispe WIKI는 일식 마스터를 복사하는 짧은

  • 사용 SCP의 sign process, 을 문서화.

    <exec dir="${packtmp}" executable="scp" output="signing.txt"> <arg line="${archiveName} dev.eclipse.org:${stagingDirectory}"/> </exec>

  • 서버에 서명 서명 스크립트는/usr/빈/기호를 호출합니다. <exec dir="." executable="ssh" output="signing.txt" append="true"> <arg line="build.eclipse.org "cd ${stagingDirectory}; /usr/bin/sign ${stagingDirectory}/${archiveName} mail ${stagingDirectoryOutput}""/> </exec>

    • 설문 조사를 출력 디렉토리에있는 서명 된 파일의 서버

    .

<exec dir="." executable="scp" output="signing.txt" append="true"> <arg line="dev.eclipse.org:${stagingDirectory}/${buildId}-out/${archiveName} ${buildDirectory}/${buildLabel}"/> </exec>