做过nodejs或者php开发的朋友,一定经常遇到下面的情况
团队中多个成员向主分支提交了代码,合并后可能来不及在本地测试就推向了远程分支,然后用SSH登录stage服务器,git pull,composer install, npm install等一系列操作之后顺利部署上去,打开页面一看,500 Internal Error...
稍微好一些的做法,在代码库设置了SSH public key,在用户git pull的时候可以不用输入代码,亦或设置一些web hook以便收到push请求后,自动拉取代码。
如果团队中的每个人都在合并分支后去服务器上执行更新代码,编译,部署的操作,积少成多势必会浪费很多时间在等待和重复操作上。
Cirecle CI是一个持续集成的工具,借助Docker的虚拟能力,提供了自动构建、自动测试和自动部署的功能。目前支持绑定Github和Bitbucket的代码库。
注册地址:https://circleci.com/
使用起来比较简单,通过以下几步配置即可:
使用Github账户登录CircleCI站点,授权CircleCI访问Github仓库里的代码,以便收到Github代码更新后可以执行相应的程序。
在代码根目录下创建.circleci的文件夹,并新建一个配置文件config.yml
在config.yml中定义docker相关的配置,如 构建步骤、数据库配置和SSH部署命令等。
将config.yml文件提交以后,circle ci就会根据这个文件的配置内容,加载相应的docker 镜像来运行项目代码,或根据SSH信息访问相应的服务器完成部署了。
最新的文档是2.0版本,https://circleci.com/docs/2.0/ 可以参照这个试试看。
附 测试项目的 config.yml做参考
version: 2
jobs:
build:
docker:
- image: circleci/node:8.11
- image: mongo:3.6.5
steps:
- checkout
- run: npm install
- run: sudo npm install forever -g
- run: cp .env-example .env
- run: forever start
deploy:
machine:
enabled: true
steps:
- run:
name: Deploy Over SSH
workflows:
version: 2
build-and-deploy:
jobs:
- build:
filters:
branches:
only: master
- deploy:
requires:
- build
filters:
branches:
only: master
领取专属 10元无门槛券
私享最新 技术干货