首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Drone+Gogs流水线-全面认识轻量级云原生CI引擎Drone

/https DRONE_USER_CREATE:设置初始的管理员,这个是超级管理员 DRONE_LOGS_TRACE:启动日志,默认是关闭的 DRONE_OPEN 开启注册,此配置允许任何人自注册登录系统...激活仓库配置Webhook 1 登录drone激活仓库 2 仓库创建.drone.yml文件 3 检查仓库的webhooks配置是否正常 激活之后,自动就会在gogs仓库的Web设置创建钩子...runner 针对可以无状态容器运行测试编译代码的项目进行了优化; 不太适合无法容器内运行测试或编译代码的项目,包括面向 Docker 不支持的操作系统或体系结构(如 macOS)的项目。..., gogs)是强绑定关系,如果代码管理平台不能访问,Drone无法登录,这个Drone-Server的启动命令就可以看出来。...Drone是GitOps实践额典型工具,通过代码仓库进行深度融合,做到了随时提交,随时构建,很多能力都是通过容器插件实现,这也是有别于传统构建系统的重要特点 从能力上,Drone本身就是轻量级的, 所以相对比较单一

1.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

玩转 Drone CI

通过这篇文章总结一下目前我们对 drone 进行的一些定制化开发以及使用技巧,由于 drone 官方的文档不是很详细,所以也希望通过这种方法来其他使用 drone 的用户分享交流使用经验。...并行构建 默认情况下,drone 会按照步骤执行,但是有时会遇到前后端同一个 repo 的情况,这时使用并行构建就可以省去很多的构建时间。...多子项目构建 使用 drone 遇到的最大问题就是,我们有很多项目都是一个 repo 中有很多子项目,而每个子项目都是 k8s 的一个服务,这时一个 .drone.yml 文件很难把所有的服务都囊括...插件开发 针对这个问题,我们对 drone 进行了定制化开发,会在每次提交代码后,对新提交的代码老代码进行比较,筛选出做了修改的子项目,然后对有修改的子项目尽心 CI ,其余的子项目则不进行发布。...使用该插件会如果为测试构建,则会自动设置 docker 镜像 tag 为 DRONE_BUILD_NUMBER ;如果为生产构建(git tag),则叫自动设置 docker 镜像 tag 为 DRONE_TAG

2.5K20

私有化轻量级持续集成部署方案--05-持续部署服务-Drone(下)

默认的 clone 步骤(step)只支持设置 disable、 depth。...这是因为每一个步骤都是一个进程内执行的,每一次执行都是一个新进程, 但是往往会有挂载数据这种情况,针对这种需求,Drone 也提供了 Volume 机制。允许将容器内文件挂载到宿主机。...Drone 可以使用变量设置, 并且内置了许多变量,例如: DRONE_TAG。但是个人感觉这些变量并不太好用。...但是查找起来浪费时间,于是自己写了一个简单的插件:https://github.com/yanzhangshuai/drone-web-tags 使用起来也很简单,并且同时支持设置其它 Tags。...Drone 社区中提供了 SSH 连接镜像插件, appleboy/drone-ssh。

1.8K30

再见了Jenkins,一款更轻量级的持续集成工具!

最后,开发人员只需要在项目中引入 .drone.yml 文件,将代码推送到 Git 仓库,即可自动化的完成编译、测试 发布。...Drone官网 创建 OAuth2应用 由于蘑菇博客是部署 Gitee 的,因此本文将介绍 Drone 如何实现:代码提交到 Gitee 上,自动触发 Drone 流水线,完成项目的打包部署 首先...还提供了很多插件,可以打开 https://plugins.drone.io/ 进行查看 drone插件 在这里,可以下载别人做好的插件,例如在构建成功后,发送邮件通知,这里用到了 Email 插件...Email插件 或者使用 Drone Cache 插件,将中间结果缓存到云存储 Drone缓存插件 好了,本期 Drone 学习之旅就到这里了,本文简单的介绍了一下 Drone 的接入流程,更多使用技巧欢迎到...Drone 官网学习~ 最后,本次学习drone所有的源码,陌溪也整理到了一个压缩包,有需要的小伙伴可以公众号回复【drone】获取 我是 陌溪,我们下期再见~

4K43

再见 Jenkins:Drone 如何为工程团队简化 CICD

选择 我过去的生活,我对 Jenkins 有过很深的体验,无论它的优点缺点。但在 BOOM,我们充满好奇,渴望尝试新技术,看看它们是否符合我们的需求。...、Bitbucket(许多其他)集成; 采用基于 yaml 的配置,采用管道即代码原则; 它易于扩展(并且主要云提供商上具有自动扩展功能); 它包括许多由社区维护的工作插件,编写临时插件或扩展并不复杂...Drone 负责克隆 git 存储库内容,与所有容器共享它,为每个容器安装一个特定路径(/drone/src),并在那里设置一个主容器。...执行此步骤时,Drone 将下载您的插件并运行在定义的 Dockerfile 中找到的内容 但是步骤定义的值上设置了两个环境变量,称为 DRONE_FOO DRONE_BAR。...当然,这对于简单的插件来说效果很好,但是当它们更复杂时,最好使用drone-plugin-starter[1]并用 Go 编写它。 测试测试报告 让我们回到管道的测试阶段。

1.8K10

基于drone的CICD,对接kubernetes

CI与CD其实对drone来说无本质区别,都是pipeline的一个步骤而已,再抽象成镜像即插件,每个步骤做啥drone已经不关心了,是你自己决定的,所以使用drone时一定要理解其原理才能活用而且非常简单...注意,有了模板之后,我们部署v1版本v2版本时就不需要改动yaml文件,这样降低出错风险,pipeline执行时把环境变量传进来,完美解决 这样git tag 镜像tag与yaml里镜像配置实现了完全的统一...支持命令行触发 我们进行了二次开发,让drone可以页面上触发对应的事件 | 原理篇 drone上开通一个仓库时,会给仓库设置一个webhook,项目设置里可以看到,这样git的事件就可以通知到drone...pipeline就负责起容器而已,容器干啥的系统不关心,用户决定 这句话本文不止强调过一次,非常重要多读几遍 | 插件原理 镜像即插件,也就是可能现有很多镜像都能直接当作插件嵌入到drone流程。...现在ebay已经完全从jenkins切换成drone了,至今很纳闷为什么国内jenkins满天飞。。。

2.7K30

深入浅出:一篇文章入门 Drone

选择 我过去的生活,我对 Jenkins 有过很深的体验,无论它的优点缺点。但在 BOOM,我们充满好奇,渴望尝试新技术,看看它们是否符合我们的需求。...、Bitbucket(许多其他)集成; 采用基于 yaml 的配置,采用管道即代码原则; 它易于扩展(并且主要云提供商上具有自动扩展功能); 它包括许多由社区维护的工作插件,编写临时插件或扩展并不复杂...Drone 负责克隆 git 存储库内容,与所有容器共享它,为每个容器安装一个特定路径(/drone/src),并在那里设置一个主容器。...执行此步骤时,Drone 将下载您的插件并运行在定义的 Dockerfile 中找到的内容 ENTRYPOINT /bin/my-script 但是步骤定义的值上设置了两个环境变量,称为 DRONE_FOO...当然,这对于简单的插件来说效果很好,但是当它们更复杂时,最好使用drone-plugin-starter[1]并用 Go 编写它。 测试测试报告 让我们回到管道的测试阶段。

2.6K20

无人机指挥系统中标价_云睿智能无人机

系统内置于Unity,使用 Geopipe 的 3D 数字孪生为模拟提供真实世界、准确的上下文。 是什么启发了 Drone Commander?...作为政府的交通规划者,我们决定使用现有的道路高速公路作为向导,并将它们带到400英尺的高空运送包裹空中出租车。这是盐湖城市中心使用的,所以正常的机场规则不适用。...为什么对 Drone Commander 使用准确的 3D 数据很重要? 这些是低空飞行的飞机。我们需要将交通高度控制 400 英尺以下,而我们盐湖城的最高建筑是 437 英尺。...Drone Commander 内置于 Unity,我们使用 Geopipe 的 3D 数据为数百个小型 UAS 交互、避免碰撞遵循不同的空域规则设置场景。...我们需要一个 API 许可协议,让我们可以将环境流式传输到 Unity,而您无法在任何其他平台上做到这一点。 您对 Drone Commander 的愿景是什么?

35620

基于 Gogs + Drone 构建私有 CICD 平台 | Docker 篇

前言 CI / CD( 持续集成 / 持续部署 )方案是DevOps不可或缺的流程之一,最近也了解了部分的相关的解决方案,最终选择了Drone + Gogs基于docker容器环境来构建CI / CD...,本文将分享下如何构建此平台以及如何快速地使用到项目开发。...GitLab是使用Ruby编写的,Jenkins更是了不起,使用Java来编写的,项目整体比较膨大,同时它们对硬件、CPU等开销比较高 Drone、Gogs皆是使用Go语言来编写构建,整体的语言性能与内存开销算是有一定的优势...Drone 有两个地方需要注意: Drone登录的账号需要在Gogs设置为管理员,他俩兄弟的账密是互通的 Gogs的仓库会自动同步到Drone上,此时,需要在Drone开启钩子才能正常运行 使用 好了...通过git插件clone分支代码到容器里面 测试 编译代码,构建可执行文件 将项目运行环境打包成镜像,发布到Registry 部署至生产环境 发送邮件等通知信息,这里还有很多插件,比如微信、钉钉、

2.3K20

基于gitea+drone完成小团队的CICD

,启动两个容器就完成了部署,其它构建、测试、部署工具使用时会自动从docker仓库拉取 扩展性强:强大的插件系统,丰富的插件可以免费使用,也可以自定义 配置简单:正如官方宣传的那样,“configuration...设置Runnner的名字。Runner名称存储服务器,可用于将构建追溯到特定Runner DRONE_RUNNER_LABELS 可选的字符串映射。...Docker runner 是一个通用的 runner,针对可以无状态容器运行测试编译代码的项目进行了优化。...plugins/docker插件; 5、rebuild-cache 步骤把缓存通过挂载文件放到宿主机; 6、deploy 步骤使用 将应用部署到容器; 优化 因为一次构建每一个 steps 都会新生成一个容器并在容器里运行构建...多节点运行 docker-compose-drone.yaml 文件定义 Runner 的DRONE_RUNNER_LABELS环境变量可以为 Runner 加上标签,定义 .drone.yml

1.9K10

使用 Kustomize 帮你管理 kubernetes 应用(五):配合 kubedog 完善 CICD 的最后一步

以往的 pipeline ,使用 kubectl 进行部署 Deployment 后无法检查 Deployment 是否部署成功,只能通过使用命令/脚本来手动检查 Deployment 状态,而 kubedog...KubeDog kubedog 是一个 lib 库 CLI 小工具,允许 CI/CD 部署 pipeline 中观察跟踪 Kubernetes 资源。...kubedog 提供了 lib 库 CLI 小工具,这里由于是介绍 CI/CD 的实践,所以只介绍其中的 rollout track 功能。...集成 KubeDog 由于我司目前使用的是 drone 进行 CI ,每个 step 都是由一个 docker 制作的插件组成。...该镜像已上传 dockerhub ,需要的可以自行拉取使用 guoxudongdocker/kubectl ,而该插件的使用也 GitHub DockerHub 上查看。

73210

搭建Gitea+Drone轻量级代码管理CI服务

第一次访问网页端会进入初始配置页面 这里需要配置的项目有以下几个: 站点名称:名称随意配置 服务器域名:就是宿主机的IP地址或者绑定的域名 基础URL:这里就是网页访问地址,把localhost改为宿主机IP或者域名即可 可选设置需要修改一些配置...,服务器第三方服务设置管理员账号设置。...容器,启动两个容器就完成了部署,其它构建、测试、部署工具使用时会自动从 docker 仓库拉取 扩展性强:强大的插件系统,丰富的插件可以免费使用,也可以自定义 配置简单:正如官方宣传的那样,“configuration...test 文件提交后就会自动触发构建 我们可以通过手动Drone创建一个流水线也可以通过配置触发方式来自动触发,使用Jenkins的时候,我们需要在Git仓库配置WebHook,并且选择WebHook...原因是因为Drone是与Git仓库绑定的,当我们创建Drone服务的时候已经配置了Gitea仓库的认证信息,那么当我们Drone激活一个项目的时候,Drone就会自动Gitea为对应的项目创建

1.7K30

如何在Ubuntu上安装Drone持续集成环境

本教程,我们将演示如何为您的设置完整的Drone持续集成环境。我们将配置受腾讯云SSL保护的Nginx作为Drone的前端。...Drone将限制注册属于这些组的用户。 确保DRONE_ADMIN包含您的GitHub帐户名称。 然后,通过将DRONE_GITHUB设置为true来激活GitHub集成插件。...离开之前,复制DRONE_SECRET文件的值。配置代理时,我们需要在下一节设置相同的密钥。完成后保存并关闭文件。...接下来,我们proxy_params文件包含一些代理头定义,并根据之前的地图设置添加其他头。...您将被重定向回您的Drone服务器: 现在,您可以激活配置存储库以自动测试代码。 结论 本教程,我们将Drone设置为GitHub项目的持续集成交付服务器。

2.9K21

kubernetes开发流程

文章目录 概述 开发环境构建 Fork Clone到本地 设置remote 代码同步 分支管理 CI编译与发布 实践案例 从master切出一个分支 merge到1.13.4版本 其它注意事项 概述...由于k8s各个版本可能需要的golang版本都不太一样,所以最方便的还是容器中进行构建,但并不是随便一个golang的镜像都可以进行构建,因为k8s还需要拷贝代码,生成代码等依赖了一些小工具,我这里提供了一个官方的编译镜像...:fanux/kube-build:v1.12.1-2 发布时用了drone一个非常方便的插件:plugins/github-release,可以直接把二进制文件放到github的release pages...linux/amd64 make all WHAT=cmd/kubelet GOFLAGS=-v # 几个环境变量特别重要,如不加clean编译出来版本号就会加dirty后缀,需要加版本号不然很多时候无法正常工作...title: ${DRONE_TAG} # 使用你打的tag作为标题 note: Note.md # 指定一个文件说明你release干了啥

1.1K20

【玩转Lighthouse】自建轻量级Git仓库Gitea并结合Drone实现CICD

前言   作为开发人员使用Git进行版本管理是必不可少的一部分,但似乎从去年开始,最大的代码仓库GitHub大陆经常无法访问,又或者经常超时。...注意修改其中的30001222为你自己规划的端口。USER_UIDUSER_GID设置为当前用户的id,可以使用命令id查询。...如果你绑定有域名,你也可以将SSH 服务端口基础URL设置为你的域名,否则设置为服务器ip,最后点击立即安装按钮。如果在刚才的安装步骤,你没有设置管理员账户,现在立即注册一个用户即可。...在此之前请参考上面的方式轻量应用服务器防火墙界面放行30002、30003端口。 点击创建以后会得到idsecret,注意这很重要,接下来会用到。 创建drone文件夹。...注意配置environment的各项参数密码。其中runnerDRONE_RPC_SECRET要和serverDRONE_RPC_SECRET保持一致。

2K21

私有化轻量级持续集成部署方案--07-私有NPM仓库-Verdaccio

sudo chown -R 10001:65533 /volumes/verdaccio 测试Verdaccio仓库 部署成功后,可以本地创建一个测试项目,发布到 Verdaccio 仓库。...sudo chown -R 10001:65533 /volumes/verdaccio 测试Verdaccio仓库 部署成功后,可以本地创建一个测试项目,发布到 Verdaccio 仓库。...没有任何问题的情况下,可以成功的将项目发布到 仓库 页面登录时可以看到这个项目 网关配置 Verdaccio 官方文档--Reverse Proxy Setup 给出了使用反向代理的配置...NPM 会将登录凭证存储 .npmrc 文件。...也就是需要一个插件执行登录操作,并将登录凭证写入 .npmrc 文件 Drone 社区中提供了一个这样的镜像插件:robertstettner/drone-npm-auth kind: pipeline

1.3K20
领券