2019独角兽企业重金招聘Python工程师标准>>>

使用 Drone 构建 Coding 项目

Drone 是一个轻量级的持续集成工具。它具备许多现代持续集成工具的特性:轻巧(Docker 镜像不到 10M)、部署方便(docker-compose 一键部署)、通过 YAML 文件描述构建过程、内置支持主流的代码托管平台、使用 Docker 容器执行构建。 下面介绍如何使用 Drone 构建 Coding(平台版/企业版)项目,实现开发、测试、部署的自动化。(介绍中使用的是 Coding 定制的 Drone,因为 Coding 的小伙伴们总是希望每时每刻都能见到可爱的洋葱猴,这样打起码来特精神!^_^)

1、新建一个 OAuth 应用。『应用主页』填写自己部署的 Drone 所在主机的 URL,如:https://example.com;『回调地址』填写 Drone 的回调地址,一般为 Drone 主机加上/authorize,如:https://example.com/authorize。还可以给这个应用添加醒目的图标。最后点『创建应用』。 

2、进入刚才创建的应用,接下来要用到上面的『Client ID』和『Client Secret』。 

3、在要部署 Drone 的 Linux 主机里安装好 Docker 和 Docker-Compose,然后创建名为docker-compose.yml 的 Docker-Compose 配置文件,内容如下:

version: '2'services:drone-server:image: houseboy/drone:20170512.1restart: alwaysvolumes: - ./drone:/var/lib/drone/:rwenvironment:- DRONE_OPEN=true- DRONE_CODING=true- DRONE_CODING_CLIENT=<应用的 Client ID>- DRONE_CODING_SECRET=<应用的 Client Secret>- DRONE_CODING_URL=<Coding 主页>- DRONE_CODING_GIT_MACHINE=<Coding Git 主机>- DRONE_SECRET=<drone-server 和 drone-agent 的通信密钥>ports:- "80:8000"drone-agent:image: houseboy/drone:20170512.1command: agentrestart: alwaysdepends_on: [ drone-server ]volumes: - /var/run/docker.sock:/var/run/docker.sockenvironment:- DRONE_SERVER=ws://drone-server:8000/ws/broker- DRONE_SECRET=<drone-server 和 drone-agent 的通信密钥>

主要环境变量的说明:

  • DRONE_CODING 要为 true
  • DRONE_CODING_CLIENT 填写上一步得到的『Client ID』。
  • DRONE_CODING_SECRET 填写上一步得到的『Client Secret』。
  • DRONE_CODING_URL 为 Coding 主页。平台版填 https://coding.net;企业版填企业对应的https://*.coding.net 子域名的 URL。
  • DRONE_CODING_GIT_MACHINE 为 Coding Git 主机。平台版填 git.coding.net;企业版填 e.coding.net
  • DRONE_SECRET 为随机字符串,是用于 drone-server 和 drone-agent 之间的通信,只要两个都填写一样值即可。

docker-compose 配置中的其他内容请根据实际情况填写。

4、在创建 docker-compose.yml 的目录里执行 docker-compose up,若上一步的配置正确,就能看到 Drone 启动输出的日志: 

5、用浏览器打开 Drone 所在主机的 URL 

6、点击登录,跳转至 Coding 的登录页面。如果已经登录 Coding,则会看到『应用授权』页面,这时点击『授权』 

7、若授权成功,即会跳转回 Drone 的首页,并在右上角看到已登录用户的 Coding 头像。 

8、点击头像,选择『用户设置』,便可看到项目列表。 

9、点击对应项目右侧的开关即可开启和关闭该项目的 Drone 持续集成。 

10、再次回到『仪表盘』即可以看到已开启了 Drone 持续集成的项目。 

11、向已开启 Drone 持续集成的仓库推送代码,即可触发构建过程。 

上述介绍中用到集成了 Coding 的 Drone 版本源码发布在 https://github.com/Coding/drone,同时已经向源仓库 https://github.com/drone/drone 提交了 PR,代码正在审核中。同时欢迎有兴趣的码士提交 PR 助力完善 Drone 对 Coding 的集成支持。

有关 Drone 的更多使用帮助请查看官方文档:http://docs.drone.io/

转载于:https://my.oschina.net/u/3803405/blog/1800025

使用 Drone 构建 Coding 项目相关推荐

  1. Scons构建C++项目

    旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/30/scons/ 前言 我是一个 linux c++ 开发者,但是一直对 Makefile 的语法很是头痛,每 ...

  2. vuex构建vue项目_如何使用Vue.js,Vuex,Vuetify和Firebase构建单页应用程序

    vuex构建vue项目 如何使用Vuetify和Vue路由器安装Vue并构建SPA (How to install Vue and build an SPA using Vuetify and Vue ...

  3. gradle构建web项目_25多个Web资源可帮助您构建项目

    gradle构建web项目 This article was created in partnership with Mekanism. Thank you for supporting the pa ...

  4. 在Eclipse中使用Maven构建Spring项目

    最新版的Spring需要使用Maven构建,本文讲述怎么在Eclipse构建Maven项目,以配置Spring项目为例. maven简单介绍 maven是构建工具,也是构建管理工具.ant只是构建工具 ...

  5. vue使用命令行构建完项目后_vue-cli 构建项目在IE中无法运行解决方式(build之后可运行)...

    IE浏览器(只考虑IE11,更低版本我没考虑)运行时报 Promise未定义的错误 解决办法: 1. 安装babel-polyfill (1.)  npm install babel-polyfill ...

  6. Maven实战(三)Eclipse构建Maven项目

    2019独角兽企业重金招聘Python工程师标准>>> 1. 安装m2eclipse插件     要用Eclipse构建Maven项目,我们需要先安装meeclipse插件     ...

  7. maven(3)------maven构建web项目详细步骤

    eclipse集成工具,轻松通过maven构建web项目步骤如下: 一, 右键,new -->project, 进入下一页面 二,选择"Maven Project", 点击下 ...

  8. 在 Jenkins 中使用声明式 Pipeline 构建 Android 项目

    Blue Ocean 是 Jenkins 推出的一套新的 UI,对比经典 UI 更具有现代化气息.2017 年 4 月 James Dumay 在博客上正式推出了 Blue Ocean 1.0. 兼容 ...

  9. 转】用Maven构建Mahout项目

    原博文出自于: http://blog.fens.me/hadoop-mahout-maven-eclipse/ 感谢! 用Maven构建Mahout项目 Hadoop家族系列文章,主要介绍Hadoo ...

最新文章

  1. 数据科学家需要知道的5种图算法
  2. (最小生成树) Networking -- POJ -- 1287
  3. 办公室计算机网络使用情况,企事业单位办公网络的现状及解决方案.doc
  4. 【NLP】大模型时代,我们真的不再需要分词了吗?
  5. python switch高效替代_python 中无switch(写了几个函数代替switch)
  6. 前窗玻璃膜贴了一周还有气泡_汽车玻璃膜贴全部好还是贴局部好?
  7. ppt扇形图怎么显示数据_PPT图表除了显示数据变化,还可以干嘛?
  8. G++和C++区别和评测注意事项
  9. 图片放大软件—ON1 Resize AI 2022兼容m1
  10. Hessian——轻量级的二进制协议远程调用实现方案
  11. 利用FGSM实现对抗样本攻击
  12. 「不看后悔一辈子」Python100个游戏大合集(1~15)
  13. Ubuntu20.04更换软件源
  14. 17.CRT的绿色版安装和使用。
  15. linux 桌面什么图标好看,Xenlism WildFire:Linux桌面下的一款漂亮图标主题
  16. 薛定谔方程编译成python码并画出电子轨道
  17. Docker安装mysql遇到ERROR 2002
  18. 该怎么说,爱到最后成了路人甲,陌路天涯
  19. Windows10系统下电脑时间不对,怎么办?
  20. 修改了便签内容怎样再恢复?

热门文章

  1. sync是同步还是非同步_音视频是怎么保持同步的?(四)
  2. linux命令 重定向%3e,linux输出信息调试信息重定向
  3. 重构 pdf_三维温度场的重构方法,更准确地监测储能系统的电池堆内部温度
  4. 程序员如何跟领导提离职_如何优雅地跟老板提加薪?按照这3个步骤来,也不是什么难事...
  5. GPU Gems1 - 25 用纹理贴图进行快速过滤宽度的计算
  6. 今天第一次开通blog
  7. tcpdump 用法
  8. Django forms组件
  9. Git-分布式版本控制系统
  10. 细说shiro之三:在独立应用中使用shiro