在开始之前,我们先来简单介绍下Travis-ci,Travis-ci是一款持续集成服务,它能够很好地与Github结合,每当代码更新时自动地触发集成过程。Travis-ci配置简单,很多nodejs项目都用它做自动测试。本文以nodejs应用为例,来谈谈如何利用travis-ci完成自动部署。市面上的部署工具如scp、ansible、chef,都绕不开这个核心问题。以scp为例,测试机登录生产服务器的方式有两种:密码和秘钥。幸好,travis-ci提供了加密方案,它能够将私钥文件加密,加密后的文件只在当前代码库有效。现在我以scp方式部署nodejs应用为例,来说明travis-ci做自动部署的配置。例如,降低id_rsa文件的权限,否则ssh处于安全方面的原因会拒绝读取秘钥;将生产服务器地址加入到测试机的信任列表中,否则连接时会询问是否信任服务器。
暂无评论