iOS
Concourse

ConcourseでGithubのprivateレポジトリをビルド & デプロイする話

More than 1 year has passed since last update.


初めに

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を避けたくて使い始めたが今後どうなるかはわからない。