gitlab ci cd php,GitLab + Drone 构建 CI&CD 环境

环境

操作系统: Centos 7.4

Docker版本: 17.03

Docker-Compose版本: 1.22

搭建Drone

Gitlab生成ClientID与Secret

WX20180915-170147.png

构建docker-compose.yaml

version: '2'

services:

drone-server:

image: drone/drone:0.8

ports:

- 8000:8000

- 9000

volumes:

- /home/data1/drone/drone-data:/var/lib/drone/

restart: always

environment:

- DRONE_OPEN=true

- DRONE_GITLAB=true

- DRONE_GITLAB_CLIENT=3b026a57ef85bd05181a670ad32ded6b0d58e711e81c79864fd4801569e1c580 # 这个在Gitlab UserSettings/Application 中生成

- DRONE_GITLAB_SECRET=2bb590a29eb0de0ad345811da5253527d33c2c166ecf8bff17480396c8e7dff5 # 这个在Gitlab UserSettings/Application 中生成

- DRONE_GITLAB_URL=http://gitlab.dev # gitlab地址

- DRONE_HOST=http://drone.dev # drone地址

- DRONE_SECRET=123456

drone-agent:

image: drone/agent:0.8

restart: always

depends_on:

- drone-server

volumes:

- /var/run/docker.sock:/var/run/docker.sock

environment:

- DRONE_SERVER=drone-server:9000

- DRONE_SECRET=123456

启动Drone

docker-compose up -v

授权

%E8%AE%BF%E9%97%AE.png

点击授权即可

开启CI & CD

%E6%AD%A5%E9%AA%A4.png

Drone CI&CD的配置

用过Travis CI你肯定也会很快掌握 Drone CI的配置,大同小异

教程已Laravel为例子

你需要在项目根目录建立.drone.yml文件

pipeline:

backend:

image: motecshine/laravelphp71

commands:

- composer install

- cp .env.example .env

- php artisan key:generate

- ./vendor/bin/phpunit

- rm -rf vendor

# - git tag ${DRONE_COMMIT_SHA} #这里打上tag

# - git push origin ${DRONE_COMMIT_SHA} # 提交这个tag

frontend:

image: node:8

commands:

- npm install

- npm audit fix

- npm run prod

- rm -rf node_module

#publish:

# 这里完成CD, 也许你还需要一个 Deploy镜像去完成你的部署工作,步骤都一样,这里就不详细谈了、

大功告成

success.png

上面被注释掉的是关于CD的步骤,这里就不详细叙述了,Drone 相比于Jenkins来说简单易用,已部署,轻量,适合小型的开发团队。

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值