More Related Content
Similar to Drone.io のご紹介 (20)
More from Uchio Kondo (13)
Drone.io のご紹介
- 26. ビルドイメージのカスタマイズ
> 既存で用意されている言語
> ruby, php, node, go, erlangにdartも
> バージョンのそろい方が微妙。
Dockerfileはあるので自作で……
> → https://github.com/drone/drone/blob/master/shared/build/images.go#L174
> ないものは作ればいい
> 2パターン
> 全く独自にイメージを作る
> bradrydzewski/base をベースに作る
- 27. ビルドのコツ
> bradrydzewski/base ベースだと
> デフォでrubyとかnode、build-essential、等入り
> ubuntuユーザ
> drone/* と言う名前でないと正しく使えない
> 独自だと、結構自分で色々入れないといけな
いっぽい(特にsocatコマンド)
> Qiitaにもう書いちゃった…
> 「OSS版 Drone.io を社内で使い始めてる話」
- 33. デプロイ系
> publish: と deploy: がある
> deploy
> Heroku, CloudFoundry,
その他git repo, ssh
> publish
> s3/Swift, Azure, Github Release
- 34. s3に上げる
> 雑に成果物をぶち上げる
!
!
!
> 意外と便利
> AWS Keyはハードコードしなくても、
settingで別途指定可能
publish:
s3:
acl: public-read
region: ap-northeast-1
bucket: hoge-bucket
access_key: $$AWS_KEY
secret_key: $$AWS_SECRET
source: hoge.zip
target: hoge/production/$DRONE_BRANCH/
recursive: false
when:
branch: master
- 37. Hack: Capistrano……
> 対応してないので
ビルドコマンド側の最後に……
script:
# ……
- '[ "${DRONE_BRANCH}" != "master" ] && exit 0'
# master以外の場合この下は実行しないぞ!
- sudo chown -R ubuntu:ubuntu /var/tmp/bundle
- mkdir -p vendor
- ln -s /var/tmp/bundle vendor/bundle
- bundle install --path vendor/bundle
- bundle exec cap production deploy
!
cache:
- /var/tmp/bundle
- 46. 秘伝のスクリプト
$ find /tmp/drone/*/*/*/* -type d -maxdepth 0 | # ディレクトリのみ
> grep -v master | # master のキャッシュは消さない
> xargs -n 5 --verbose rm -rf # 5件ずつじゃないと進 が……
これを毎週末回して解決(...)