travis-scripts로 GitHub Pages를 Travis에서 쉽게 자동 빌드

여러분 GitHub Pages 사용하고 있습니까? 편리하네요.

하지만 Jekyll 이외(예를 들면 gulp라든지)로 GitHub에 push해도 자동으로 빌드->호스팅해 주면 더 편리하다고 생각하지 않습니까?
"Travis CI GitHub Pages"에서 굉장하다면 여러가지 정보가 나옵니다만, 어느 것도 상당히 복잡해, 하는 방법이 곳은 다르고 있습니다.

그러나 travis-scripts이라는 도구를 사용하면 Travis에서 쉽게 호스팅 할 수 있습니다.

방법 (README의 일본어 번역)



우선 설치. npm을 사용합니다.
npm i -D @alrra/travis-scripts

npm 2.7.0 이상으로 설치할 수 있다고 합니다.
https://travis-ci.org/<ユーザー名>/<リポジトリ名> 로 이동하여 Travis를 활성화합니다.



SSH의 키를 생성합니다. 여기서 github_deploy_key라는 이름입니다.
ssh-keygen -t rsa -b 4096 -C "<your_email>" -f github_deploy_key -N ''
  • 공개 키 github_deploy_key.pub 및
  • 비밀 키의 github_deploy_key가 생겼다고 생각합니다.
  • https://github.com/<username>/<repository>/settings/keys로 이동하여 Add deploy key를 클릭하십시오.



    공개 키 파일의 내용을 Key에 붙여 넣습니다.



    Allow write access 를 체크합니다.



    키 추가를 클릭합니다.



    실수로 커밋하지 않도록 공개 키를 삭제합니다.
    rm github_deploy_key.pub
    

    Travis CLI를 설치하고 로그인합니다.
    gem install travis
    travis login
    

    개인 키를 암호화합니다.
    travis encrypt-file github_deploy_key
    

    출력은 다음과 같이 되어 있다고 생각합니다.
    encrypting github_deploy_key for <username>/<repository>
    storing result as github_deploy_key.enc
    storing secure env variables for decryption
    
    openssl aes-256-cbc -K $encrypted_XXXXXXXXXXXX_key -iv $encrypted_XXXXXXXXXXXX_iv -in github_deploy_key.enc -out github_deploy_key -d
    
    Pro Tip: You can add it automatically by running with --add.
    
    Make sure to add github_deploy_key.enc to the git repository.
    Make sure not to add github_deploy_key to the git repository.
    Commit all changes to your .travis.yml.
    

    이때 $encrypted_XXXXXXXXXXXX_key , $encrypted_XXXXXXXXXXXX_iv 는 나중에 필요하지만 https://travis-ci.org/<username>/<repository>/settings 에서 볼 수 있습니다.



    비밀 키도 삭제합니다.
    rm github_deploy_key
    
    .travis.yml 의 after_success를 다음과 같이 추가합니다.
      after_success:
      - |
    
           $(npm bin)/set-up-ssh --key "$encrypted_XXXXXXXXXXXX_key" \
                                 --iv "$encrypted_XXXXXXXXXXXX_iv" \
                                 --path-encrypted-key ".travis/github_deploy_key.enc"
    
    $encrypted_XXXXXXXXXXXX_key , $encrypted_XXXXXXXXXXXX_iv 를 이전 값으로 바꿉니다.

    GitHub 사용자 이름, 이메일 주소를 환경 변수로 설정합니다.
    env:
      global:
      - GH_USER_EMAIL="<メールアドレス>"
      - GH_USER_NAME="<ユーザー名>"
    

    마지막으로 after_success에 다음 사항을 추가하십시오.
    - |
        # Add the SSH-related commands here, see:
        # https://github.com/alrra/travis-scripts/blob/master/doc/github-deploy-keys.md#26-set-up-ssh-connection-for-travis-ci
    
        $(npm bin)/update-branch --commands "<ビルドコマンド>" \
                                 --commit-message "<コミットメッセージ> [skip ci]" \
                                 --directory "<出力ディレクトリ>" \
                                 --distribution-branch "<出力ブランチ(e.g. gh-pages)>" \
                                 --source-branch "<ソースのブランチ(e.g. master)>"
    

    그리고는 before_script에 의존관계의 설치 처리등 쓰거나, node나 ruby의 버전 설정하면 끝입니다.

    push하면 빌드가 달린다고 생각합니다.

    좋은 웹페이지 즐겨찾기