我试图弄清楚我是否可以在 drone.io 的帮助下自动构建我们的小项目。到目前为止,它一直很有希望,但这个简单的步骤我似乎无法解决。
我的设置是启用了网络钩子的 gog,并通过无人机网络界面启用存储库。无人机在 2 个码头工人实例中运行。
docker-compose.yml:
version: '2'
services:
drone-server:
image: drone/drone:0.5
ports:
- 8000:8000
volumes:
- /opt/docker/drone:/var/lib/drone
- /path/to/ssh:/key
environment:
- DRONE_OPEN=true
- DRONE_GOGS=true
- DRONE_GOGS_URL=http://gogs.xx.xx
- DRONE_GOGS_GIT_USERNAME=user
- DRONE_GOGS_GIT_PASSWORD=password
- DRONE_SECRET=key
- DEPLOY_KEY=@/key/id_rsa
- DRONE_DEBUG=true
drone-agent:
image: drone/drone:0.5
command: agent
restart: unless-stopped
depends_on: [ drone-server ]
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=ws://drone-server:8000/ws/broker
- DRONE_SECRET=key
我必须单独安装 CLI,因为我无法在 docker 容器中使其工作。签名命令:
drone -s http://<drone interface>:8000 -t <token copied from webinterface> sign <repo> --in ".drone.yml" --out ".drone.yml.sig"
然后我继续提交并将两个文件推送到存储库。无人机调试中不断出现以下错误:
drone-server_1 | time="2017-04-12T10:04:09Z" level=debug msg="cannot verify .drone.yml.sig file. no match"
drone-server_1 | time="2017-04-12T10:04:09Z" level=info ip=172.19.0.1 latency=374.072732ms method=POST path="/hook" status=200 time="2017-04-12T10:04:09Z" user-agent=GogsServer
知道签名出了什么问题吗?
谢谢布拉德。
它确实与行尾有关。我使用组合的Windows/linux环境,所以我想这就是它出错的地方。现在我使用了一个我以前用过的漂亮工具,叫做 dos2unix
.
在我可以成功签名并将 sig 推送到存储库后,它会转换为 unix 格式。