学习
实践
活动
专区
工具
TVP
写文章

推荐一个持续交付工具

做过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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180811G02KB300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券