2017-12-03 10 views
7

GitHub上のパブリックリポジトリは、1つのYAMLファイルのみに変更が加えられています。私はすべてのプッシュでそのファイルを処理し、それに基づいてファイルを生成するソリューションを探しています。基本的には、パイプラインまたはCIがファイルを解析し、さまざまなマークダウンファイルを作成する必要があります。これらのファイル(より具体的には、これらのファイルの変更)は、リポジトリにプッシュバックされます。ファイルを生成してリポジトリに戻すためのGitHubパイプライン/ CI

要件:

  • YAMLファイルを手動で変更し、マークダウンファイルへの自動変更は、両方のマスターブランチにプッシュしなければなりません。
  • バージョン履歴を保存する必要があります(強制的なプッシュが機能しないなど)。
  • 生成される任意の数のファイルがあります。

GitHub PagesGitHub Releasesのトラビスプロバイダがあります。しかしどちらも、私の要求には適さないという制限があります。

私はGitHubでどのツール/ CI /パイプラインを使用することができますか?自営業のCIよりもサービスを好むだろう。

+1

サービスを含めるための回答を編集しました。 – VonC

答えて

2

YAMLファイルを解析してMarkdownファイルを生成するプログラム/スクリプトが既にあると仮定して、私はJenkins CIからこれを行う方法についていくつかの洞察を与えることができます。自分の経験から自分のインスタンスを実行している間に、あなたが探索できるようなホストされたオプション(CloudBeesなど)もあります。

  1. 新しいJenkins Freestyleプロジェクトを作成します。
  2. ソースコード管理セクションで、GitHubプロジェクトの座標を設定します。
  3. Build Triggersセクションで、変更をGitHubにプッシュすると 'ビルド'オプションを有効にします。これは、YAMLファイルの新しいバージョンをリポジトリにプッシュする瞬間に、CIジョブを起動します。
  4. ビルドセクションの下に、シェル実行のビルドステップを追加します。
  5. シェルステップでは、YAMLファイルを処理するプログラムまたはスクリプトを起動するか、.mdファイルを生成します。 git add .git commit -m "message"git pullgit pushコマンドを追加してスクリプトを終了します(gitはパスにあると仮定します)。
  6. 新しいジョブを有効にして、Jenkinsでアクティブにします。
+0

あなたの答えをありがとう。私は、単純なユースケースのためにJenkinsのインスタンスを実行したり支払ったりするのは過度のものと思われます。とにかく今のところ最高の解決策であるように、それをaswerとして受け入れます。 – str

関連する問題