LANGUAGE/!$%!% ERROR NOTE 2019. 6. 5. 13:56

Travis-CI (트래비스-씨아이)

1. Error (오류)

Preparing deploy
No stash entries found.
/home/travis/.rvm/gems/ruby-2.2.7/gems/octokit-4.6.2/lib/octokit/response/raise_error.rb:16:in `on_complete': GET https://api.github.com/user: 401 - Bad credentials // See: https://developer.github.com/v3 (Octokit::Unauthorized)
 from /home/travis/.rvm/gems/ruby-2.2.7/gems/faraday-0.15.1/lib/faraday/response.rb:9:in `block in call'
 from /home/travis/.rvm/gems/ruby-2.2.7/gems/faraday-0.15.1/lib/faraday/response.rb:61:in `on_complete'

2. Problem (문제)

나의 경우는 오랜만에 CI를 통해 Deploy를 했더니, 되지 않고 있었다. 만료기간이 있는건가..?? 어쨌든..

3. Solved (해결)

나의 경우에 답은 간단했었다. .travis.ymldeploy.api_key.secure 속성값인 암호화된 GITHUB 토큰을 바꿔주면 해결되는 문제였다.

  • .travis.yml
    deploy:
      api_key:
          secure: <NEED TO CHANGE>
  1. 현재 등록되어있는 자신의 GitHub계정의 토큰에 들어간다.

  2. 기존에 생성된 토큰에 들어가서 [Regenerate Token] 버튼을 눌렀더니 40자의 코드가 생성되었다.

  3. 해당 코드를 가지고 터미널에서 자신의 터미널에서 보안코드를 만들어서 적용한다.

  • Travis 설치 (Gem이 없다면 Gem부터 검색하여 설치)

    gem install travis
  • Travis 로그인

    travis login --org
  • 토큰 암호화

    echo <GITHUB_ACCESS_TOKEN> | travis encrypt -r <GITHUB_USER>/<GITHUB_REPOSITORY>
  • 예)

    echo 177aa7s36b784b2f3c16fe695f703kl5fm3a7s4ke31 | travis encrypt -r avaj-java/installer-maker
  • 터미널에 출력된 secure 값을 .travis.yml에 붙여넣는다.

    deploy:
      api_key:
          secure: "asdf3;kjl;ghawec.asd/fasjfjke82hbviajjwke..."

4. Reference (참조)