Blackrose's Blog Blackrose's Blog

DroneCI启用privileged

in technologyread (213) 文章转载请注明来源!

有一个构建任务,需要把squash格式的镜像挂载使用,但是在drone里面一直报错。在自己的ubuntu 虚拟机测试可以。然后就手动在docker内测试,发现mount确实无法挂载这个镜像。提示如下

mount failed: Unknown error -1

这里需要给docker添加'--privileged'就可以了。查询drone的相关文档,并询问了相关开发者,才知道如何在drone中开启privileged特性。

  1. drone的服务需要配置DRONE_ADMIN环境变量,值是Gogs的用户名,以','隔开
services:
    drone-server:
        image: drone/drone:latest
        ports:
            - 8000:8000
        volumes:
            - /var/lib/drone:/var/lib/drone/
        restart: always
        environment:
            - DRONE_ADMIN=admin-dev,test
            - DRONE_OPEN=true
            - DRONE_HOST=http://192.168.2.12:8000
            - DRONE_GOGS=true
            - DRONE_GOGS_URL=http://192.168.2.12:3000
            - DRONE_SECRET="Bearer"
            - DRONE_GOGS_SKIP_VERIFY=true
  1. 在drone项目的设置参数中启用'Trusted'开关
  2. 添加'privileged: true'到drone.yml文件
workspace:
    path: /dronebuild
pipeline:
    build:
        image: ubuntu:latest
        privileged: true
        commands:
            - /bin/bash

文章二维码

扫描二维码,在手机上阅读!

发表新评论
博客已萌萌哒运行
© 2018 由 Typecho 强力驱动.Theme by Yodu
前篇 后篇
雷姆
拉姆