2016-03-24 3 views
0

私はローカルのgitlabノードとローカルのdrone.ioノードを持っています。 drone.ioノードはubuntu上で動作します。 gitlabノードは、自己署名証明書を使用します。 標準のubuntu形式(cp cert.pem/usr/share/ca-certificates /; update-ca-certificates)のdrone.ioノードに証明書を追加しました。 無人機は、-v/etc/ssl:/ etc/ssl:roで起動します。 oauthの証明書の問題が原因でログインできないという問題を解決したので、無人機のコンテナはこの証明書を知っています。 ビルドでgit fetchで "SSL証明書の問題:自己署名入り証明書"が返されるgit fetchで使用できるように、drone.ioビルドコンテナにCA証明書を追加しますか?

ドローンがビルド用に他のコンテナを開始し、他のコンテナに証明書がないと思われます。しかし、私は何が起こっているのか分かりませんでした、そしてそこに私の証明書を注入する方法については考えがありません。

ドローンを開始するスクリプト:

#!/bin/bash 
set -x 
docker kill drone 
docker rm drone 
docker run \ 
    --volume /var/lib/drone:/var/lib/drone \ 
    --volume /var/run/docker.sock:/var/run/docker.sock \ 
    --volume /etc/ssl:/etc/ssl:ro \ 
    --env-file /etc/drone/dronerc \ 
    --restart=always \ 
    --publish=80:8000 \ 
    --detach=true \ 
    --name=drone \ 
    drone/drone:0.4 \ 
    -debug 

の/ etc /ドローン/ dronerc:

# in gitlab, as an administrator, go to /admin/applications 
# add a new application, the redirect uri being https://drone.machine/authorize 
REMOTE_DRIVER=gitlab 
REMOTE_CONFIG=https://ci-poc.devel.balabit?client_id=b88f2a6faefd8d9a05eddd82c8327bda6a59858fc7772753f4e2c0e6a7cd96e4&client_secret=966f752d39f211ef6b79a8c079d2ff1226f6ccd772a239efab4f4e4fb5de67a9 
DATABASE_DRIVER=sqlite3 
DATABASE_CONFIG=/var/lib/drone/drone.sqlite 
HTTP_PROXY=http://proxy.balabit:3128/ 
HTTPS_PROXY=http://proxy.balabit:3128/ 

ビルドログ:

[info] Pulling image plugins/drone-git:latest 
Drone Git Plugin built from 8be7aa9 
$ git init 
Initialized empty Git repository in /drone/src/gitlab.private/mag/devsec/.git/ 
$ git remote add origin https://gitlab.private/mag/devsec.git 
$ git fetch --no-tags --depth=50 origin +refs/heads/master: 
fatal: unable to access 'https://gitlab.private/mag/devsec.git/': SSL certificate problem: self signed certificate 
[info] build failed (exit code 1) 

答えて

0

この問題を回避するには、中にクローンについてskip_verifyを設定することでした.drone.ymlで見つかった解答http://addons.drone.io/git/

私の.drone.ymlは以下の通りです。最初の2行が関係しています。

clone: 
    skip_verify: true 
build: 
    image: magwas/edemotest:xslt 
    commands: 
    - ./bin/script 
+0

これはgitlabでは動作しません。私はこれを正確に試してみましたが、私はまだ「SSL証明書の問題:ローカル発行者証明書を取得できません」というエラーが表示されます。 gitlabプラグインは 'skip_verify'を無視するようです。 – MattK

+0

http://docs.drone.io/cloning/を参照してください。 skip_verifyは機能しますが、最新の構文を使用して設定する必要があります。 –

関連する問題