问题标签 [drone.io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
468 浏览

drone.io - 使用部署挂钩触发分叉构建时如何在 Drone.IO 中访问父级的构建号?

我正在尝试使用drone.io 构建一个 CI 管道。

步骤是:

  • 构建一个 docker 镜像
  • 使用drone_build_number 标记 docker 镜像
  • 将镜像部署到暂存环境,“ECS,请部署myimage:drone_build_number

部署会在登台环境中触发一些测试。如果这些通过,则调用drone.io 的部署挂钩:http://mydronehost/builds/123?fork=true&event=deployment&deploy_to=prod。这应该部署myimage:drone_build_number到 prod,build_number在这种情况下是 123。相反,构建得到一个新的数字,例如 124,部署失败,因为myimage:124不存在。

在这种情况下,是否有可能以某种方式访问​​“父”内部版本号(123)?

0 投票
1 回答
2333 浏览

drone - Drone CI 获取和使用构建元数据

我在自托管系统中使用 Drone CI (0.7)。它连接到 GitLab 和我的私人注册表并且工作得很好!

但是,我想对.drone.yml文件做更多的事情。尤其是在将图像发布到注册表时。

文档展示了如何进行替换,但没有解释这些变量是如何设置的。以下是文档中的示例:

这正是我想做的。在 repo(在发布分支上)创建一个 git 标签,并让该标签成为我的 Docker 映像的标签。

git tag -a v1.0 -m "Initial release"当时我试过了git push origin v1.0。Drone CI 构建在我Tag Hooks为存储库设置好之后开始,但是当构建完成并将图像发布到注册表时,标签设置为latest. 推送常规代码更改提交时也会发生这种情况。

这是需要使用 CLI 完成的事情,还是我的.drone.yml文件中缺少某些内容(发布在下面)?它看起来像是我需要设置的环境变量,但是在提交代码以开始构建之前必须设置它(我假设)似乎很奇怪......

任何和所有的帮助表示赞赏!

0 投票
1 回答
1081 浏览

drone - 在 Drone CI 中安装插件(触发器插件)

我是 Drone 的新手,我想使用我的第一个插件,即这个插件:http: //addons.drone.io/trigger/

但是,Drone 文档并没有真正解释如何安装插件。我所做的是将示例 yaml 复制到我的 .drone.yml 中,结果是这样(显然我已经审查了敏感信息,但每个键都与真实文档相同):

但是,当我推动这个时,Drone 给了我错误:

如果我将图像放入,如

我得到:

我应该为每个插件构建一个 docker 容器吗?如何访问此插件?

0 投票
1 回答
1858 浏览

git - “致命:无法读取 'https://XXX' 的用户名:没有这样的设备或地址”与drone.io 和 Gogs

我想使用drone.iogogs,以便在我的环境中拥有一些CI 功能。

drone.io ( http://docs.drone.io/ )的文档不是最新的,为了启动它,我不得不挖掘很多东西。

我的docker-compose.yml文件如下:

dedigogs_gogs_1作为我的gogsdocker 实例)

我可以drone使用我的gogs凭据连接到。

我可以看到我所有的私人存储库,并为drone.io.

但是,在构建提交时,代理(我认为)无法克隆存储库:

我尝试使用.drone.yml(添加“ clone”部分,使用username, netrc.username, ...),我还尝试使用环境变量,没有任何工作,我无法drone为克隆存储库进行身份验证。

任何想法 ?

0 投票
1 回答
1914 浏览

continuous-integration - Drone 0.8:构建卡在挂起状态

使用以下Docker Compose文件在虚拟机上安装 Drone 0.8:

所有变量值都存储在.env文件中,并正确传递给正在运行的容器。尝试使用私有 Github 存储库运行构建。当第一次推送到存储库时,构建开始并失败并出现以下错误(即构建失败): 第一次运行 然后在单击重新启动按钮后看到另一个屏幕(即构建待处理): 第二轮

在同一台机器上运行以下容器:

即使DRONE_DEBUG=true代理日志中的唯一日志条目是:

所以我认为出于某种原因,我的代理没有从队列中获取构建。我注意到最新的 Drone 版本使用GRPC而不是WebSockets

那么如何开始构建呢?我在这里缺少什么?

0 投票
1 回答
460 浏览

vagrant - gitlab-ce 和无人机:0.8,但无人机的构建不起作用

我使用 gitlab-ce 和无人机:0.8,但无人机的构建不起作用。将显示“构建列表为空”我还将 .drone.yml 放在 gitlab-ce 存储库下。

gitlab-ce 的 docker-compose.yml

无人机的 docker-compose.yml

.drone.yml

我不知道是什么原因。请告诉我是否有任何方法可以解决它。

0 投票
0 回答
485 浏览

drone - Installing drone on a sub-directory/path

I am trying to install drone in a particular path of a domain, but it still tries to find it's resources in root directory. It's behind a Caddy Server. Example:- Want to install in http://abc.xyz.com/drone/

While it should find its resources(static,api,feed) likw http://abc.xyz.com/drone/static/app.css It tries to find it in http://abc.xyz.com/static/app.css

I can write URL re-writes but it seems counter intuitive, and could be prone to errors. How do I correct this?

My current caddyfile:-

0 投票
3 回答
3482 浏览

docker - Drone CI 在克隆步骤中失败

我在 docker-compose 的机器上运行以下内容:

  • GitLab
  • 无人机(服务器)
  • 无人机(代理)

当我触发构建(或由 git push 触发)时,无人机在这个问题上不断失败:

这是 docker-compose.yml:

两者都安装在同一台机器上,我无法弄清楚我做错了什么,无人机一直无法识别git主机的原因是什么。

我已经在我的本地 /etc/hosts 和我在网上找到的 /etc/resolve.conf 提示中添加了映射。有人可以帮忙吗?

0 投票
1 回答
2002 浏览

docker - 使用无人机电子邮件插件时,无人机 CI 看不到秘密变量

我使用drone-ci (0.8.0-rc.5) 作为CI 工具和drone-email插件来发送电子邮件。如果构建成功或失败,我想发送通知。我使用 Gmail SMTP 服务器发送电子邮件。

我的 .drone.yml 文件:

秘密配置如下图所示: 在此处输入图像描述 构建完成后,我收到以下异常:

time="2017-09-20T02:14:10Z" level=error msg="Error while dialing SMTP server: dial tcp :587: getsockopt: connection refused" dial tcp :587: getsockopt: connection refused

当我在 yml 文件中硬编码值时,通知会起作用。所以我想知道我在秘密方面做错了什么或如何解决这种情况?

0 投票
1 回答
4756 浏览

drone - 在无人机插件中访问无人机的环境变量

我对无人机 CI/CD 完全陌生。我在将环境变量传递给无人机插件时遇到问题。我到目前为止所做的是

  • 我在我的一台服务器 (my.drone.com) 中部署了无人机 docker imagedrone/drone:0.7 (服务器和代理都在工作。bitbucket 已成功集成)我按照这篇文章:在 ubuntu上配置无人机进行设置。
  • 我在无人机管理应用程序中激活了我的 CI/CD 存储库之一
  • 我将.drone.yml文件添加到项目
  • 我确实在cloud.docker.com应用程序中设置了自动图像构建。现在我想将该图像部署到我的其他云服务器(my.app.com)。因此,我将 applebody/drone-ssh 添加到了drone.yml 以访问该服务器
  • 要将此插件部署到我的服务器,它需要my.app.com通过 ssh 访问我的服务器 ( )。
  • 我可以my.app.commy.drone.com服务器登录
  • 但我不知道插件如何访问 my.app.com,我试图通过环境变量将我的my.drone.com 私有 ssh 密钥传递给插件。但是没有锻炼。我的无人机的服务器和代理环境文件.drone.yml如下:

.drone.yml

pipeline: ssh: image: appleboy/drone-ssh host: my.app.com user: root key: $PLUGIN_SSH_KEY script: - ls - cd apps - docker pull drprasad/todo-app - docker rm -f todo - docker run -p 8080:8080 -d --name 'todo' drprasad/todo-app notify: image: plugins/slack webhook: https://hooks.slack.com/services/token channel: test username: drone-is-flying

代理环境文件

服务器环境

如何将PLUGIN_SSH_KEY变量(从代理或服务器 env 文件)传递给无人机插件?这样它就可以访问我的my.app.com服务器

即使我不知道我的方法是否正确。如果我的方法有误,请纠正我。

对不起,我的英语不好。谢谢