初めに
ConcourseでGithubのレポジトリを取得する際、publicなレポジトリの場合のbuild.ymlをどうするかの記事は既にあったがprivateな場合の記事が見当たらなかったので書くことにした。
ここではiOSアプリの場合。
publicな場合: Concourse CIでiOSアプリのCIを行う
結論
↓ こんな風にsshの秘密鍵を設定してやれば、特に難しいことは無くprivateなレポジトリを取得してfastlaneでビルド & beta配布したり出来る。
対応する公開鍵は予めいつもの手順でGithubに登録しておく。
また、パスワード付きの秘密鍵には対応していない様子。
秘密鍵をベタ書きにするのが嫌な場合 or ベタ書きにしたらまずい場合は工夫が必要と思われる。
build.yml
resources:
- name: as_you_like
type: git
source:
uri: git@github.com:your/private-repository.git
branch: master
private_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAw0ej
(中略)
EhZFPOmxlHtfLMLNYdqQVKHpyAr0d
-----END RSA PRIVATE KEY-----
jobs:
- name: build_as_you_like
plan:
- get: as_you_like
trigger: true
- task: specs
config:
platform: darwin
inputs:
- name: as_you_like
run:
path: sh
args:
- -c
- |
bundle install
bundle exec fastlane beta
公式リファレンス: https://github.com/concourse/git-resource
終わりに
Jenkinsを避けたくて使い始めたが今後どうなるかはわからない。