travis-ci에서 비밀 API 키 사용
내 프로젝트 중 하나에 travis-ci 를 사용하고 싶습니다 .
프로젝트는 API 래퍼이므로 대부분의 테스트는 비밀 API 키 사용에 의존합니다. 로컬에서 테스트하기 위해 환경 변수로 저장합니다. Travis에서 이러한 키를 안전하게 사용하는 방법은 무엇입니까?
Travis에는 환경 변수를 암호화하는 기능이 있습니다 ( "Encrypting environment variables" ). 이는 비밀 API 키를 보호하는 데 사용할 수 있습니다. Heroku API 키에 성공적으로 사용했습니다.
travis gem을 설치하고 원하는 문자열을 암호화 한 다음 암호화 된 문자열을 .travis.yml
. 암호화는 하나의 저장소에만 유효합니다. 이 travis
명령은 리포지토리의 공개 키를 가져온 다음 빌드 중에 문자열을 해독 할 수 있습니다.
gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
그러면 다음과 같은 출력이 제공됩니다.
Please add the following to your .travis.yml file:
secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
travis ci 문서 에 따르면 다음 과 같이 말합니다.
Heroku 및 Travis CI 명령 줄 클라이언트가 모두 설치되어있는 경우 프로젝트 디렉터리에서 다음 명령을 실행하여 키를 가져와 암호화 한 다음 .travis.yml에 추가 할 수 있습니다.
travis encrypt $(heroku auth:token) --add deploy.api_key
OS에 따라 heroku 클라이언트를 설치하려면 다음 자습서를 참조하십시오.
저장소 설정에서 비밀 변수를 정의 할 수도 있습니다 .
저장소 설정에 정의 된 변수는 모든 빌드에서 동일하며 이전 빌드를 다시 시작할 때 최신 값을 사용합니다. 이러한 변수는 포크에서 자동으로 사용할 수 없습니다.
리포지토리 설정에서 다음과 같은 변수를 정의합니다.
- 저장소마다 다릅니다.
- 타사 자격 증명과 같은 민감한 데이터를 포함합니다.
리포지토리 설정에서 변수를 정의하려면 로그인했는지 확인하고 해당 리포지토리로 이동 한 다음 톱니 바퀴 메뉴에서 "설정"을 선택하고 "환경 변수"섹션에서 "새 변수 추가"를 클릭합니다.
다른 API 키 세트를 사용하고 동일한 방식으로 수행하십시오. 트래비스 박스는 빌드 실행을 위해 설정되고 빌드가 완료된 후 다시 완전히 해체됩니다. 빌드 중에 상자에 대한 루트 액세스 권한이 있으므로 원하는 모든 작업을 수행 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/9338428/using-secret-api-keys-on-travis-ci
'program tip' 카테고리의 다른 글
var / null 이상한 동작으로 전환 (0) | 2020.09.06 |
---|---|
자바 스크립트 실행을 프로파일 링하는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.06 |
Class.newInstance ()가 "악"인 이유는 무엇입니까? (0) | 2020.09.06 |
Angular의 실제 오류 메시지 대신 "(unknown url) : 0 Unknown Error"에 대한 Http 실패 응답이 나타납니다. (0) | 2020.09.06 |
R에서 기본 CRAN 미러 영구 설정 (0) | 2020.09.06 |