使用 Drone 构建 Coding 项目
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 项目相关推荐
- Scons构建C++项目
旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/30/scons/ 前言 我是一个 linux c++ 开发者,但是一直对 Makefile 的语法很是头痛,每 ...
- 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 ...
- gradle构建web项目_25多个Web资源可帮助您构建项目
gradle构建web项目 This article was created in partnership with Mekanism. Thank you for supporting the pa ...
- 在Eclipse中使用Maven构建Spring项目
最新版的Spring需要使用Maven构建,本文讲述怎么在Eclipse构建Maven项目,以配置Spring项目为例. maven简单介绍 maven是构建工具,也是构建管理工具.ant只是构建工具 ...
- vue使用命令行构建完项目后_vue-cli 构建项目在IE中无法运行解决方式(build之后可运行)...
IE浏览器(只考虑IE11,更低版本我没考虑)运行时报 Promise未定义的错误 解决办法: 1. 安装babel-polyfill (1.) npm install babel-polyfill ...
- Maven实战(三)Eclipse构建Maven项目
2019独角兽企业重金招聘Python工程师标准>>> 1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 ...
- maven(3)------maven构建web项目详细步骤
eclipse集成工具,轻松通过maven构建web项目步骤如下: 一, 右键,new -->project, 进入下一页面 二,选择"Maven Project", 点击下 ...
- 在 Jenkins 中使用声明式 Pipeline 构建 Android 项目
Blue Ocean 是 Jenkins 推出的一套新的 UI,对比经典 UI 更具有现代化气息.2017 年 4 月 James Dumay 在博客上正式推出了 Blue Ocean 1.0. 兼容 ...
- 转】用Maven构建Mahout项目
原博文出自于: http://blog.fens.me/hadoop-mahout-maven-eclipse/ 感谢! 用Maven构建Mahout项目 Hadoop家族系列文章,主要介绍Hadoo ...
最新文章
- 数据科学家需要知道的5种图算法
- (最小生成树) Networking -- POJ -- 1287
- 办公室计算机网络使用情况,企事业单位办公网络的现状及解决方案.doc
- 【NLP】大模型时代,我们真的不再需要分词了吗?
- python switch高效替代_python 中无switch(写了几个函数代替switch)
- 前窗玻璃膜贴了一周还有气泡_汽车玻璃膜贴全部好还是贴局部好?
- ppt扇形图怎么显示数据_PPT图表除了显示数据变化,还可以干嘛?
- G++和C++区别和评测注意事项
- 图片放大软件—ON1 Resize AI 2022兼容m1
- Hessian——轻量级的二进制协议远程调用实现方案
- 利用FGSM实现对抗样本攻击
- 「不看后悔一辈子」Python100个游戏大合集(1~15)
- Ubuntu20.04更换软件源
- 17.CRT的绿色版安装和使用。
- linux 桌面什么图标好看,Xenlism WildFire:Linux桌面下的一款漂亮图标主题
- 薛定谔方程编译成python码并画出电子轨道
- Docker安装mysql遇到ERROR 2002
- 该怎么说,爱到最后成了路人甲,陌路天涯
- Windows10系统下电脑时间不对,怎么办?
- 修改了便签内容怎样再恢复?
热门文章
- sync是同步还是非同步_音视频是怎么保持同步的?(四)
- linux命令 重定向%3e,linux输出信息调试信息重定向
- 重构 pdf_三维温度场的重构方法,更准确地监测储能系统的电池堆内部温度
- 程序员如何跟领导提离职_如何优雅地跟老板提加薪?按照这3个步骤来,也不是什么难事...
- GPU Gems1 - 25 用纹理贴图进行快速过滤宽度的计算
- 今天第一次开通blog
- tcpdump 用法
- Django forms组件
- Git-分布式版本控制系统
- 细说shiro之三:在独立应用中使用shiro