オープンソース版Droneで--depthオプション付きでgit cloneを行うようにしました
オープンソース版Droneでのビルド時に、git cloneで時間がかからないよう、--depthオプション付きでgit cloneを実施するようにしました。
デフォルトでは、--depth=50でgit cloneが実行されます。(デフォルト値はTravis CIを参考にしました。)
以下のように、.drone.ymlでgit: depth:
に値を指定すると、--depthにその値が設定されてgit cloneが実行されます。
image: go1.2 env: - GOPATH=/var/cache/drone services: - mongodb script: - go get labix.org/v2/mgo - go get labix.org/v2/mgo/bson - go build - go test -cover -v git: depth: 1
オープンソース版Droneでのビルド成功後にHerokuへモジュールを自動的にデプロイする方法
オープンソース版Droneでのビルド成功後にHerokuへモジュールを自動的にデプロイする方法は以下の通りです。
HerokuへのSSH Keyの登録
Drone側でリポジトリ名 -> Settings ->Key Pairsと遷移してSSH Keyを取得し、それをHeorkuのAccountのSSH Keysへ設定します。
.drone.ymlの設定
以下のようにdeploy: heroku: app:
を設定します。app:
にはHerokuのアプリケーション名を指定します。
image: go1.2 env: - GOPATH=/var/cache/drone script: - go build - go test -cover -v deploy: heroku: app: drone-heroku-test
デプロイの確認
ビルドが成功すると、以下のように、Herokuへのデプロイが実施されます。
オープンソース版Droneでのビルド成功後にS3へファイルを配布する方法
オープンソース版Droneでのビルド成功後にS3へファイルを配布する方法は以下の通りです。
.drone.ymlファイルの設定
以下の通りpublish: s3:
を定義します。
image: go1.2 env: - GOPATH=/var/cache/drone script: - go build main.go publish: s3: acl: public-read region: ap-northeast-1 bucket: yosssi access_key: AWSアクセスキー secret_key: AWSシークレットキー source: /var/cache/drone/src/github.com/yosssi/drone-test-publish/main target: test/
ビルドの実施
ビルド実施後にS3への配布が行われることを確認します。
配布モジュールの確認
S3にモジュールが配布されていることを確認します。