惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

博客园 - lswweb

Drone基于K8S的Secrets管理 Centos8通过X11使用GUI应用 Linux自己常用命令记录(待续) K8S Master节点灾备与恢复 - ETCD K8S Master节点灾备与恢复 - Host文件Copy Rook Ceph出现daemons have recently crashed异常 Ceph rbd删除image遭遇watchers异常处理 Ceph OSD更换硬盘后遭遇PG Inconsistent异常与处理 Rook Ceph OSD异常,格式化osd硬盘重新挂载 进入K8S Pod执行操作,遭遇Operation not permitted错误 K8S Pod挂载rook ceph pv报not found in the list of registered CSI drivers异常处理 Vs中调试MVC源代码步骤 手动创建vsct文件 快速查找找VS菜单信息(Guid、GuidId、CmdId等) 在多排序条件下SQL获文章上一条、下一条记录 Knockout中ViewModel与Model的互转 Asp.Net MVC 表单验证 AjaxOptions.OnSuccess回调方法返回的参数信息 一次自定义Configuration的悲惨经历。
Drone概念与答疑
lswweb · 2021-01-08 · via 博客园 - lswweb

一、部署

1、Server

       Drone主服务,它是一个守护进程应用并且拥有Web管理界面。它通过Webhook对接Git Server。解析Git Repository根目录下的.drone.yml文件,并以轮询的形态查找需要执行的Pipelines,路由并管理Runners。

2、Runner

       Drone Pipeline处理执行器,可以部署一份或多份。Drone拥有多种类型的Runner(docker、k8s、exe、ssh等等),可选适合的方式安装。

3、K8s Secrets Extensions

      这是一个可选组件,用来为drone runnner提供基于k8s secret的secret

4、Drone CLI

      drone的命令执行工具,它可以使用通过命令与drone进行交互,并提供用户、secret、repository setting等多种功能。

二、应用

1、Pipeline

      Pipeline是Drone的核心模块,它是用来定义自动化处理流程的工具。一般会在git repository根目录,创建一个.drone.yam文件来定义配置pipeline。当git代码提交到repository后webhook会通知drone server,然后将会触发pipeline执行。

2、Secrets

       在配置pipeline过程中一些秘钥、Token、密码等机密信息并不适合直接用明文存放在.drone.yam文件中。Secrets模块则提供多种形式的机密信息存储与读取。

3、Promotions

      当一些工作需要人为协助处理时,我们可以定义pipeline通过promote形式触发,并通过drone build promote触发执行并传递相应参数

4、Cron

      Crone用来定义基于时间调度执行Pipeline。注意它是根据UTC时间,而不是本地时间。

5、Signatures

      用来对文件进行签名验证,如果你的repository是公共的,为防止.drone.yml文件被改动,可以使用signature对文件进行验证

三、扩展

1、Plugins

      plugin是在pipeline的step中用来执行预定任务的docker容器

2、Webhook

     Git Repository用来触发drone的钩子。Drone通过OAuth获取github、gitlab等源代码管理平台的操作权限,在drone的web管理页面激活repo后将会自动把webhooks添加到repo的repository配置中。当git repository产生push、push request、tag等操作时webhook将被触发,并通知drone执行pipeline。

3、Extensions

      通过extensions我们可以自定义并覆盖drone一些默认行为,或增强一些功能。

四、答疑

1、yml文件是否必须存放在git repository根目录

是的,必须在根目录

2、yml文件名是否必须是.drone.yml

默认是文件名是.drone.yml,也可以能过drone web管理界面修改yml的文件名

3、git提交代码如何让drone跳过本次提交,不执行pipeline

提交代码时通过备注增加[CI SKIP]跳过

如: git commit –m “first commit [CI SKIP]”

4、使用volumes挂host path时报Linter: untrusted repositories cannot mount host volumes错误

需要给repository开通mount权限。打开drone web –> repository –> Settings –> Project settings 勾选Trusted

5、drone web界面repository设置项Project settings中没有Trusted

Drone Server启动时要指定DRONE_USER_CREATE参数,用来设置管理员帐号,只有用管理员帐号打开drone web界面才可以看到和设置Trusted

6、server、runner、secret各个组件中配置中的环境变量secret值如何使用,又从何而来

secret可以通过“openssl rand -hex 16”生成

它们是配对使用的,例如runner需要访问server,那么先使用openssl生成一个secret设置给server(DRONE_RPC_SECRET),然后再给runner设置server的请求地址(DRONE_RPC_HOST)及secret(DRONE_RPC_SECRET)

7、