1: github 创建项目
本地git init 项目
git remote add [email protected]:username/project.git
2:注册Travis并添加项目
3:本地项目创建Travis配置文件(.travis.yml)
language: node_js node_js: - '7' script: - npm run test before_install: - openssl aes-256-cbc -K $encrypted_2c456f34f8c3_key -iv $encrypted_2c456f34f8c3_iv -in id_rsa.enc -out ~/.ssh/id_rsa -d - chmod 600 ~/.ssh/id_rsa - echo -e "Host xxx.xxx.xxx\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config after_success: - npm prune --production - tar -jcf cache.tar.bz2 * - scp cache.tar.bz2 [email protected]:~/ - ssh user@xxx.xxx.xxx.xxx 'mkdir -p cache && tar -jxf dist.tar.bz2 -C cache' - ssh [email protected] 'pm2 startOrReload ~/cache/pm2.json'
4:配置trivas ssh
设置开发端部署端.ssh文件夹700权限authorized_keys文件600权限。
开发端生成ssh密钥(用于Trivas伪装成开发端使得ssh可以无密登入)
ssh-keygen -t rsa -P ''
将id_rsa.pub文件复制到部署端
ssh-copy-id [email protected]开发端执行ssh连接确认无密登入生效
(github端)配置开发端ssh push:将id_rsa.pub复制到github项目https://github.com/settings/keys
(triivas)配置ssh上传到部署服务器,并启动:
安装trivas gem install trivas
进入项目目录,登入 travis login
用trivas加密私钥 . travis encrypt-file ~/.ssh/id_rsa --add
travis自动添加
- openssl aes-256-cbc -K $encrypted_2c456f34f8c3_key -iv $encrypted_2c456f34f8c3_iv
-in id_rsa.enc -out ~/.ssh/id_rsa -d
到.travis.yml,确保id_rsa.enc文件在项目根目录
修改Trivas虚拟机id_rsa权限 600
添加部署服务器Ip到ssh信任列表,不会查询是否信任主机
trivas相关配置基本完成