問題タブ [concourse-git-resource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
concourse - Semver 変更時のタスクのトリガー: ジョブのアウトまたはオーダーをトリガーします
これが私が達成しようとしていることです:
バイナリ リリース用のビルド ジョブを含むプロジェクトがあります。バイナリはプラットフォームごとにクロスコンパイルするのに時間がかかるため、リリースがタグ付けされたときにのみリリース ビルドを実行したいのですが、ローカル ネイティブ バージョンをビルドし、チェックインされたバージョンごとにテストを実行したいと考えています。
フライトスクールのデモに基づいて...これまでのところ、私のパイプライン構成は次のようになります。
これにより、Web UI に次のようなパイプラインが生成されます。
問題は、git リポジトリの "release" ファイルを更新すると、semver リソース "flight-school-version" が git リソース "flight-school" の前にチェックされ、リリース ビルドが git から処理されることです。以前のチェックインに割り当てられたバージョン。
リリースビルドが別のタスクとして表示されるように、これを回避する方法が欲しいのですが、バージョンがバンプされたときにのみトリガーされます。
今まで思ったことをいくつか
tag_filter
semver タグがマスターにプッシュされた場合にのみ実行されるように、セットを使用して別の git リソースを作成します。
- 長所: タグがプッシュされたときにのみジョブが実行される
- 短所: 上記の semver ベースの例と同じように、テストの切断継承の問題があります。
ビルド スクリプトの一部としてチェックアウトで git 履歴を使用して、semver タグの条件付きチェックを追加します (またはファイルの diff を変更します)。
- 長所: 基本的に、コンコースとあまり格闘することなく、やりたいことを実行します
- 短所: ビルド出力を実際に読まないと UI の違いがわからない
- 短所: バイナリ リリースで何かを行うために、他のタスクやリソース タイプと組み合わせることは難しい
リリース ビルドを手動でトリガーする
- 長所:セットアップが簡単
- 短所: 手動の介入が必要です。
API を使用して、バージョンの変更が検出されたときにテストの完了時に一時停止されたビルド ステップをトリガーする
- 短所: 他の人がこれを行っている例を見たことがなく、本当に複雑に思えます。
git リソースと semver リソースの両方が変更されたときにタスクをトリガーする方法が見つかりません。
上記の例の同時実行性の問題を解決するための答え、または同様のリリース ワークフローを生成する代替パターンのいずれかを探しています。
docker - コンコース ci は、タスクを実行するためのコンテナをどこに作成しますか? これらのコンテナに入る方法は?
コンコース ci は、タスクを実行するためのコンテナをどこに作成しますか? これらのコンテナに入る方法は?
cloud-foundry - コンコース ハイジャックでエラーが発生しました: バックエンド エラー: 終了ステータス: 500
コンコースでの作業中に以下のエラーが発生します。
ハイジャック: バックエンド エラー: 終了ステータス: 500、メッセージ: {"Type":"","Message":"runc exec: 終了ステータス 1: 実行に失敗しました: container_linux.go:264: コンテナー プロセスの開始中に \"exec: \ \"./task-scripts/task_show_uname.sh\\": stat ./task-scripts/task_show_uname.sh: no such file or directory\"\n","Handle":""}
私は task.yml を持っています:
pipeline.yml は次のようになります。
何か案が?