小编Bra*_*ski的帖子

使用“无人机条件”运行构建部分存储库

我们的项目嵌套在单一存储库中。想象一下,我们在“projects”文件夹中有一个项目。例如“项目/我们的项目”。好吧,我们希望能够将我们的 .drone.yml 检查到“我们的项目”中,但看起来 Drone 想要项目根目录下的配置文件,这没关系,我们可以通过更改“命令”部分。我们遇到的麻烦是我们只想在“我们的项目”中的某些内容发生变化时运行构建。我找不到用 Drone 精确做到这一点的方法,所以我们下一个最接近的赌注是条件,我想我们可以为“我们的项目”创建命名空间的所有分支,比如“我们的项目/某个分支”。然后我们可以设置一个条件,只在“our-project/some-branch”和“master”上运行构建,这将限制我们从其他项目分支运行的“假构建”的数量:

build:
  when:
    branch:
      - master
      - our-project/*
Run Code Online (Sandbox Code Playgroud)

问题是当我们尝试将请求从“our-project/ ”分支拉到“master”时,构建不会运行,我猜是因为它是在不在 master 或“我们的”中的合并提交上运行的-项目/

我的问题有两个方面:1. 使用单存储库模式(多个项目,一个存储库)利用无人机的最佳方法是什么 2. 如果 Drone 不支持该模式或不是为它设计的,那么什么是限制“假构建”的最佳解决方法

注意:我们可以在构建开始时检查子文件夹中的更改,如果没有则返回绿色。我这是推荐的方法吗?

drone.io drone

7
推荐指数
1
解决办法
4657
查看次数

如何停止(杀死)无人机建造

有没有办法在无人机完成或超时之前将其杀死?
无人机的默认超时为6小时(https://github.com/drone/drone/blob/master/cmd/drone/drone.go#L32)而且,如果您的makefile中有一个错误,那就是卡住了,那么您需要等待6个小时。
如果同时构建的数量有限,这将特别令人讨厌。我的问题是关于自托管的开源版本,而不是托管版本,如果有任何区别的话。

drone.io drone

5
推荐指数
1
解决办法
825
查看次数

如何创建无人机秘密文件?

文档显示如何将文件设置为秘密envvar http://readme.drone.io/0.5/secrets/

有没有方便的方法来做相反的事情?例如,在.ssh/id_rsa中使用此ssh密钥并具有所有正确的权限.

而且,通过"方便",我显然意味着无需打字mkdir,>或者chmod

drone.io drone

5
推荐指数
1
解决办法
3752
查看次数

Safari 服务器发送事件 (SSE) 无限循环

我在 Safari 9 和 Safari 10 中遇到服务器发送事件 (SSE) 问题。 SSE 连接打开,立即关闭,然后无限循环重新连接。

这是客户端代码:

var events = new EventSource("/stream/events")
Run Code Online (Sandbox Code Playgroud)

这些是 http 响应标头:

> GET /stream/events HTTP/1.1
> User-Agent: curl/7.43.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Cache-Control: no-cache
< Connection: keep-alive
< Content-Type: text/event-stream
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Last-Modified: Tue, 19 Sep 2017 05:28:22 GMT
< Strict-Transport-Security: max-age=31536000
< X-Accel-Buffering: no
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-Xss-Protection: 1; mode=block
< …
Run Code Online (Sandbox Code Playgroud)

javascript safari eventsource

5
推荐指数
1
解决办法
760
查看次数

无人机用空字符串替换环境变量

我的Drone配置发生了问题。从今天开始就没有找到环境变量。直到几天前,我还可以运行管道,但今天不能。

这是进入管道的步骤:

pipeline: 
    [...]
    sdk:
        image: mycompany/swagger-codegen:latest
        environment:
            - API_SWAGGER_JSON_URL=http://api.mycompany.biz:9000/v1/swagger.json
            - API_PACKAGE=com.mycompany.api
            - API_GROUP_ID=com.mycompany.api
            - API_ARTIFACT_ID=sdk
            - API_VERSION=0.1-SNAPSHOT
        when:
            branch: master
        commands:
            - java -jar /usr/lib/swagger/swagger-codegen-cli.jar generate
                -i ${API_SWAGGER_JSON_URL}
                --api-package ${API_PACKAGE}
                --invoker-package ${API_PACKAGE}.client
                --model-package ${API_PACKAGE}.client.model
                --group-id ${API_GROUP_ID}
                --artifact-id ${API_ARTIFACT_ID}
                --artifact-version ${API_VERSION}
                -l java
                -o ./swagger-codegen-source
            - etc.
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

+ java -jar /usr/lib/swagger/swagger-codegen-cli.jar generate -i --api-package --invoker-package .client --model-package .client.model --group-id --artifact-id --artifact-version -l java -o ./swagger-codegen-source
Exception in thread "main" io.airlift.airline.ParseArgumentsUnexpectedException: Found unexpected parameters: [java]
    at io.airlift.airline.Cli.validate(Cli.java:148)
    at io.airlift.airline.Cli.parse(Cli.java:116)
    at …
Run Code Online (Sandbox Code Playgroud)

drone.io

3
推荐指数
1
解决办法
3383
查看次数

标签 统计

drone.io ×4

drone ×3

eventsource ×1

javascript ×1

safari ×1