gpt4 book ai didi

docker - 安装无人机与github的持续集成

转载 作者:行者123 更新时间:2023-12-02 18:23:19 28 4
gpt4 key购买 nike

我正在尝试使用无人机(开放源代码版本)在公司网络内设置CI服务器。它的作者将无人机描述为一个非常简单的解决方案,即使对于程序员(就像我一样),尽管对我而言有些时机还不清楚(可能是官方文档错过了它们)。

首先,我为Rails应用程序构建了一个docker镜像:rails-qna。
接下来,组成无人机图像:

docker-compose.yml:

version: '2'

services:
drone-server:
image: drone/drone:0.5
ports:
- 80:8000
volumes:
- ./drone:/var/lib/drone/
restart: always
environment:
- DRONE_OPEN=true
- DRONE_ADMIN=khataev
- DRONE_GITHUB_CLIENT=github-client-string
- DRONE_GITHUB_SECRET=github-secret-string
- DRONE_SECRET=drone-secret-string

drone-agent:
image: drone/drone:0.5
command: agent
restart: always
depends_on: [ drone-server ]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=ws://drone-server:8000/ws/broker
- DRONE_SECRET=drone-secret-string

在Github上注册了应用程序,并提供了密码/客户端字符串。

我将.drone.yml文件放入我的项目存储库:
pipeline:
build:
image: rails-qna
commands:
- bundle exec rake db:drop
- bundle exec rake db:create
- bundle exec rake db:migrate
- bundle exec rspec

不清楚的时刻:
1)在github上注册OAuth应用程序时,我们应该指定首页URL和授权回调URL。他们应该指向哪里?无人机服务器容器?我猜想是这样的
mycorporatedomain.com:3005

mycorporatedomain.com:3005/授权
并设置端口从3005端口转发到正在运行无人机docker的主机的80端口。也许我错了?

2)我应该在键DRONE_GITHUB_URL中指定什么?
https://github.com或我的项目存储库的完整路径,即
https://github.com/khataev/qna

3)如果我要建立除master以外的其他分支怎么办?我应该指定吗?目前,无人机就绪分支(带有.drone.yml)不是主分支-可以工作吗?

4)为什么DRONE_GITHUB_GIT_USERNAME和DRONE_GITHUB_GIT_PASSWORD是 optional?如果我没有为我的github帐户指定用户名和密码,应该如何工作?

5)当我用docker up启动无人机图像时,出现以下错误:
→ docker-compose up
Starting drone_drone-server_1
Starting drone_drone-agent_1
Attaching to drone_drone-server_1, drone_drone-agent_1
drone-server_1 | time="2017-03-04T17:00:33Z" level=fatal msg="version control system not configured"
drone-agent_1 | 1:M 04 Mar 17:00:35.208 * connecting to server ws://drone-server:8000/ws/broker
drone-agent_1 | 1:M 04 Mar 17:00:35.229 # connection failed, retry in 15s. websocket.Dial ws://drone-server:8000/ws/broker: dial tcp: lookup drone-server on 127.0.0.11:53: no such host
drone_drone-server_1 exited with code 1
drone-server_1 | time="2017-03-04T16:53:38Z" level=fatal msg="version control system not configured"

UPD
5)解决了-忘记指定
DRONE_GITHUB=true

最佳答案

  • 主页URL是运行无人机的服务器的地址。
    例如。 http://155.200.100.0
    授权URL与/ authorize附加的地址相同
    例如。 http://155.200.100.0/authorize
  • 您无需指定。 DRONE_GITHUB = true表示无人机使用github url。
  • 您可以将单个部分限制为一个分支或整个无人机构建。

  • 单节:
    pipeline:
    build:
    image: node:latest
    commands:
    - npm install
    - npm test
    when:
    branch: master

    整个构建过程:
    pipeline:
    build:
    image: node:latest
    commands:
    - npm install
    - npm test

    branches: master
  • 使用OAuth时不需要用户名和密码。

  • 资源:

    http://readme.drone.io/admin/setup-github/

    http://readme.drone.io/usage/skipping-builds/

    http://readme.drone.io/usage/skipping-build-steps/

    更新:

    由于无人机版本0.6,文档已移至 http://docs.drone.io/

    关于docker - 安装无人机与github的持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42599409/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com