프로젝트를 지속적으로 통합하기 위한 Travis CI

GitHub 기반 블로그를 프로젝트로 지속적으로 통합
도구:
zqz@ubuntu:~$ node --versionv4.2.6zqz@ubuntu:~$ git --version
git version 2.7.4zqz@ubuntu:~$ travis --version1.8.4

Travis CI 소개
Travis CI는 현재 신흥 개원 지속적 통합 구축 프로젝트로 제인킨스, GO와 뚜렷한 특징을 가진다. 특히yaml 포맷을 사용하고 간결하고 상큼하며 독보적이다.현재 대부분의github 프로젝트는 Travis CI의 구축 대기열에 옮겨져 있으며, Travis CI는 매일 4000회 이상의 완전한 구축을 실행한다고 한다.
주의: 많은 물건을 설치하기 전에 Travis CI에 계정을 등록해야 합니다.(일반적으로github 계정을 사용한다)
Linux 설치 (윈도우즈를 CI로 사용하지 않는 것을 강력히 권장합니다)
Deploy Key
창고와 통신하기 위해 ssh 키 생성
ssh-keygen -t rsa -C "[email protected]"

성공하면pub 마지막 파일이github 창고에 추가됨
마지막으로 idrsa 파일을 프로젝트의 루트 디렉터리로 복사합니다. 키를 만들기 쉽습니다.
cp /home/zqz/.ssh_ci/id_rsa /home/zqz/study/zhaoqize.github.io

travis 설치 및 로그인
설치하다.
gem install travis

설치 성공 후, travis에 로그인
travis login --auto

로그인 성공:
Successfully logged in as zhaoqize!

이어 홈페이지에 접속해 창고를 설치한다.
창고명 왼쪽에 있는 톱니바퀴를 클릭하여 아래 세 개를 엽니다.
암호화하다
암호화하기 전에 프로젝트와 디렉터리 아래에 새로 만듭니다.travis.yml 파일.
암호화는 첫 번째 단계에서 생성된 키 idrsa, 앞에서 키를 프로젝트 디렉터리로 복사했기 때문에 현재 idrsa 파일.
//      cd study/study/zhaoqize.github.io //    travis encrypt-file ssh_key --add

암호화 성공:
zqz@ubuntu:~/study/zhaoqize.github.io$ travis encrypt-file id_rsa --add
Detected repository as zhaoqize/blog, is this correct? |yes|    encrypting id_rsa for zhaoqize/blog
storing result as id_rsa.encstoring secure env variables for decryption

Make sure to add id_rsa.enc to the git repository.
Make sure not to add id_rsa to the git repository.
Commit all changes to your .travis.yml.

이 때 마지막 문장 **Commit all changes to your.travis.yml..
우리가 새로 만든 파일은 한 마디에 변화가 생겨서 한 마디가 더 많아졌다. (사적인 내용은 XXX로 대체한다)
- openssl aes-256-cbc -K $encrypted_XXXXXXXX_key -iv $encrypted_XXXXXXXX_iv -in id_rsa.enc -out ~/.ssh/id_rsa -d

우리 travisci 홈페이지를 다시 한 번 살펴보니 약간의 변화가 있었다
.travis 폴더
루트 디렉터리로 복사한 id 삭제rsa 파일
프로젝트 루트 디렉터리에 새로 만듭니다.travis 폴더
생성될 것이다.enc 파일 이동.travis 파일
ssh_config
에 있습니다.travis에서 ssh 만들기config 파일.
다음 정보를 입력합니다.
Host github.com
  User git
  StrictHostKeyChecking no
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes

여기 조심해~/.ssh/id_rsa의 경로는 개인 설정에 따라 달라집니다.
.travis.yml
마지막으로 설정에 중점을 두어야 합니다.travis.yml 파일,travisci는 이 파일대로 실행되는 줄 알았습니다.
구체적인 구성:
#      
language: node_js

#    nodejs  
node_js:
 - 4.4.4#      
branches:
  only:
  - master

#   isntall        
before_install:#        - openssl aes-256-cbc -K $encrypted_4bba640059d8_key -iv $encrypted_4bba640059d8_iv -in .travis/id_rsa.enc -out ~/.ssh/id_rsa -d

#        - chmod 600 ~/.ssh/id_rsa#    ssh - eval $(ssh-agent) - ssh-add ~/.ssh/id_rsa
 - cp .travis/ssh_config ~/.ssh/config#   git       - git config --global user.name 'zqz'
 - git config --global user.email [email protected]#   install
install:
 - npm install hexo-cli -g - npm install

#       
script:
 - hexo clean - hexo g -d

성취
설치 및 사용 중 발생한 문제
travis를 설치하지 못했습니다.
sudo 사용 권한 작업 사용
zqz@ubuntu:~$ gem install travis
Fetching: ffi-1.9.14.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.3.0 directory.zqz@ubuntu:~$ sudo gem install travis
Building native extensions.  This could take a while...
...

travis 디렉토리 수정
zqz@ubuntu:~$ travis --versionbash: /usr/bin/travis:          
zqz@ubuntu:~$ sudo ln -s /usr/local/bin/travis  /usr/bin/travis
[sudo] zqz    : 
zqz@ubuntu:~$ travis --version1.8.4zqz@ubuntu:~$

생성enc 파일 키 실패
때로는 실패할 수도 있다.이때 저희가 뒤에 파라미터를 넣어야 돼요.
travis encrypt-file ssh_key --add -r zhaoqize/blog

좋은 웹페이지 즐겨찾기