2016-08-02 2 views
0

Jenkins 빌드에 비밀번호 매개 변수가 설정되어있어 비밀로 유지해야하는 정보가 포함되어 있습니다. Jenkins 빌드는이 매개 변수에 대한 액세스가 필요한 Docker 컨테이너를 만듭니다. 현재 내 명령은 다음과 같습니다 나는 그것을 예상대로가면 처리 된 Jenkins 환경 변수를 Docker 컨테이너에 전달

docker run -e PASSWORD=${PASSWORD} my_image my_command

이 작동 - 나는 다음을 활용할 수있는 부두 노동자 컨테이너에 환경 변수로 전달되는 빌드 내에서 설정 한 PASSWORD 매개 변수 .

+ docker run -e PASSWORD=abc123efg my_image my_command

문제는 원시 암호가 위의 출력에 표시되는 것입니다 : 이것은 내 콘솔 출력의 일부입니다. 마스크 된 매개 변수를 출력에 노출시키지 않고 내 컨테이너에 전달하는 데 사용할 수있는 대안이나 대안 솔루션이 있습니까?

답변

0

는 일반 텍스트 이럴가 마스크해도 좋은 선택이 아니다 같은 중요한 정보를 전달 등 https://wiki.jenkins-ci.org/display/JENKINS/Mask+Passwords+Plugin

+0

예를 해독하기 위해 공유 암호를 사용하여 고정 표시기 용기에 고정 표시기 컨테이너

  • 에 암호화 된 암호를 전달, 그것은 보인다 어떤 옵션 나는 Parameterized Build Plugin (작동하지 않는 것)이라고 생각한다. 아플 그냥 대답으로 설정하고 하루 전화 – kshah

  • 0

    로 콘솔 출력에 특정 매개 변수를 마스크 할 수있는 많은 플러그인이있다. 빌드 파이프 라인을 제어하는 ​​경우 대신 공유 암호 방식을 사용하는 것이 더 강력한 옵션 일 수 있습니다. 구현하기 쉽고 문서화가 잘되어 있습니다. 빠른 google 수색에서 나는 그것을 아주 좋게 설명하는 http://bigthinkingapplied.com/key-based-encryption-using-openssl/를 쑤실 것이다. 간단히 말해서 ...

    • 는 임의의 파일 ("공유 비밀")를 작성하고 고정 표시기 컨테이너
    • 암호화 비밀번호 공유 비밀
    • 을 사용하여뿐만 아니라 빌드 시스템에서 사용할 수 있도록 우리가 플러그인을 설치했다고 대신 그것을 사용하는 나는 마스크 비밀번호를 사용하는 것처럼 암호
    관련 문제