2014-10-13 6 views
6

보안 파일에 액세스해야하는 CircleCI 프로젝트를 작성하려고합니다. 환경 변수를 사용할 수 없으며 파일 형식이어야합니다. 제 경우에는 특별히 Maven settings.xml 파일이지만 다른 사용 사례가 있습니다. 내가 무엇을 할 수 있을지? 환경 변수CircleCI 빌드에서 보안 파일을 사용하려면 어떻게해야합니까?

파일의 내용 (예를 들어 단지 암호) 짧은 경우, 저장할 수 있습니다 전체로

파일 :

답변

18

실제로이 문제에 꽤 많은 솔루션이 있습니다 환경 변수로 파일, 다음 circle.yaml 빌드 파일에 다음과 같은 라인을 추가 :

echo $SECURE_FILE > mySecureFile 

변수 치환

파일의 내용이 크지 만 파일의 작은 부분 만 안전하다면 코드 저장소에 파일을 저장 한 다음 sed를 사용하여 고정 문자열을 환경 변수로 바꿀 수 있습니다 :

sed -e s/SECURE_PASSWORD/${SECURE_PASSWORD}/g mySecureFile.tmpl > mySecureFile 

암호화 파일

당신은 당신의 설정 파일을 암호화 한 다음 환경 변수로 암호 해독 키를 저장, 소스 저장소로 확인할 수 있습니다. 빌드 프로세스 중에 해독하십시오.

메이븐 Settings.XML의 특별 케이스

이 같은 것을 할 수 있도록 메이븐 Settings.XML이 파일의 특별한 경우, 당신은 당신의 Settings.XML의에서 환경 변수를 사용할 수있는 경우 :

    을 을 c ${env.MY_SECURE_TEXT}
  • 설정 MY_SECURE_TEXT :
  • 스토어의 conf/Settings.XML의에 Settings.XML이는
  • 는 다음과 같이 어떤 보안 텍스트를 교체 ircle CI 구성
  • circle.yaml에서 Maven 빌드 명령에 '-s conf/settings.xml'을 추가하십시오.