From 1c1eab17fb2e946e3e179910beaf2b6b09de4986 Mon Sep 17 00:00:00 2001 From: yk634 <59165943+yk634@users.noreply.github.com> Date: Sat, 3 Aug 2024 01:31:44 +0900 Subject: [PATCH] docs: Japanese translation 2024-07 (#607) --- .../user-guide/configuration/annotations.md | 1 + docs/ja/user-guide/templates/job-templates.md | 2 + .../templates/pipeline-templates.md | 141 ++++++++++++++---- 3 files changed, 117 insertions(+), 27 deletions(-) diff --git a/docs/ja/user-guide/configuration/annotations.md b/docs/ja/user-guide/configuration/annotations.md index 89f183b1..732d920c 100644 --- a/docs/ja/user-guide/configuration/annotations.md +++ b/docs/ja/user-guide/configuration/annotations.md @@ -63,6 +63,7 @@ jobs: | screwdriver.cd/blockedBySameJob | `true` / `false` | これが`false`に設定されていると、指定の待ち時間後に同一ジョブのビルドが同時に実行できるようになります。デフォルトの待ち時間は`'5'`分で、`screwdriver.cd/blockedBySameJobWaitTime`アノテーションで変更することができます。 | | screwdriver.cd/blockedBySameJobWaitTime | 時間(分) | 同一ジョブのビルドを同時実行する際に発生する待ち時間を設定できます。デフォルトの待ち時間は`'5'`分です。 | | screwdriver.cd/jobDisabledByDefault | `true` / `false` | 定期的にビルドが実行されているパイプラインがfork・コピーされた際に、fork先でビルドが定期的に実行されることを防ぎたい場合があります。このアノテーションを`true`に設定すると、作成されたジョブははじめ`disabled`となります。ユーザはUIからジョブを`enabled`にできます。デフォルトは`false`です。 | +| screwdriver.cd/virtualJob | `true` / `false` | 特定のジョブの実行をスキップするには、これを`true`に設定します。これにより、イベントのワークフロー処理中にこれらのジョブは実行されず、成功ステータスで処理が進みます。また、キューイングと実行もスキップされ、その下流のジョブのビルドがすぐに作成されてワークフローの処理が続行されます。デフォルトは`false`です。 | ## パイプラインレベルのアノテーション diff --git a/docs/ja/user-guide/templates/job-templates.md b/docs/ja/user-guide/templates/job-templates.md index 256f13df..8c8601bf 100644 --- a/docs/ja/user-guide/templates/job-templates.md +++ b/docs/ja/user-guide/templates/job-templates.md @@ -210,6 +210,7 @@ jobs: requires: [~pr, ~commit] image: node:lts main2: + template: sd/noop@latest annotations: screwdriver.cd/mergeSharedSteps: true requires: [main] @@ -229,6 +230,7 @@ jobs: - pretest: npm lint - test: npm test main2: + template: sd/noop@latest annotations: screwdriver.cd/mergeSharedSteps: true requires: [main] diff --git a/docs/ja/user-guide/templates/pipeline-templates.md b/docs/ja/user-guide/templates/pipeline-templates.md index e9d850e6..132a1a6f 100644 --- a/docs/ja/user-guide/templates/pipeline-templates.md +++ b/docs/ja/user-guide/templates/pipeline-templates.md @@ -8,8 +8,11 @@ toc: url: "#パイプラインテンプレート" - title: テンプレートを検索する url: "#テンプレートを検索する" -- title: テンプレートを利用する - url: "#テンプレートを利用する" +- title: パイプラインテンプレートを利用する + url: "#パイプラインテンプレートを利用する" +- title: カスタマイズ + url: "#カスタマイズ" + subitem: true - title: テンプレートの例 url: "#テンプレートの例" - title: "バージョンタグの意味" @@ -64,7 +67,7 @@ config: - NPM_TOKEN ``` -## テンプレートを利用する +## パイプラインテンプレートを利用する テンプレートを利用するためには、`screwdriver.yaml`のトップに`template`を記述します。以下の例では、nodejs/test templateを使用しています。 @@ -87,6 +90,90 @@ shared: テンプレートの予期しない変更を回避する最も信頼できる方法は、テンプレートの特定のバージョンを明示的に指定することです。例えば、`nodejs/test@1.0.4`は不変な特定のバージョンのテンプレートへの参照を表しています。`nodejs/test@1.0`などと記述すると、`nodejs/test@1.0.5`が利用可能となったときにそれを使用しますが、振る舞いが予期せず変更される可能性があります。 +### カスタマイズ +パイプラインテンプレートを使用時に、`jobs`設定内でいくつかのカスタマイズが可能です。 + +パイプラインテンプレートに*既に存在する*名前のユーザー定義ジョブについては、`image`、`settings`、`environment`、`requires`のフィールドのみカスタマイズが可能です。 + +パイプラインテンプレート内に*存在しない*名前のユーザー定義ジョブについては、すべてのフィールドでカスタマイズが可能です。 + +#### 例 +次のようなパイプラインテンプレートがある場合: + +``` +shared: + image: node:lts + environment: + VAR1: "one" + VAR2: "two" + steps: + - init: npm install + - test: npm test + settings: + email: [test@email.com, test2@email.com] + slack: 'mychannel' +jobs: + main: + requires: [~pr, ~commit] + second: + requires: [main] +``` + +そしてユーザー定義のyamlが次のような場合: + +``` +template: sd-test/example-template@latest +jobs: + main: + requires: [~commit] + image: node:20 + settings: + email: [test@email.com, test3@email.com] + environment: + VAR3: "three" + VAR1: "empty" + third: + requires: [] + image: node:lts + steps: + - echo: echo third job +``` + +結果として得られる設定は次のようになります: +``` +jobs: + main: + requires: [~commit] + image: node:20 + steps: + - init: npm install + - test: npm test + environment: + VAR1: "empty" + VAR2: "two" + VAR3: "three" + settings: + email: [test@email.com, test3@email.com] + slack: 'mychannel' + second: + requires: [main] + image: node:lts + steps: + - init: npm install + - test: npm test + environment: + VAR1: "one" + VAR2: "two" + settings: + email: [test@email.com, test2@email.com] + slack: 'mychannel' + third: + requires: [] + image: node:lts + steps: + - echo: echo third job +``` + ## バージョンタグの意味 テンプレートのバージョンは様々な方法で参照でき、振る舞いを固定するか、テンプレート管理者による機能改善を自動的に取り込むかがユーザーのトレードオフとして現れます。上記の例はnodejs/testテンプレートの例を参照してください。 @@ -115,14 +202,14 @@ shared: environment: FOO: bar jobs: - main: - image: node:lts - requires: [~pr, ~commit] - steps: - - install: npm install - - test: npm test - secrets: - - NPM_TOKEN + main: + image: node:lts + requires: [~pr, ~commit] + steps: + - install: npm install + - test: npm test + secrets: + - NPM_TOKEN ``` ## テンプレートを作成する @@ -174,27 +261,27 @@ Example `screwdriver.yaml`: ```yaml shared: - image: node:lts + image: node:lts jobs: main: - requires: [~pr, ~commit] - steps: - - validate: npx -y -p screwdriver-template-main pipeline-template-validate - environment: - SD_TEMPLATE_PATH: ./path/to/template.yaml + requires: [~pr, ~commit] + steps: + - validate: npx -y -p screwdriver-template-main pipeline-template-validate + environment: + SD_TEMPLATE_PATH: ./path/to/template.yaml publish: - requires: [main] - steps: - - publish: npx -y -p screwdriver-template-main pipeline-template-publish - - tag: npx -y -p screwdriver-template-main pipeline-template-tag --namespace myNamespace --name template_name --version 1.3.0 --tag stable - environment: - SD_TEMPLATE_PATH: ./path/to/template.yaml + requires: [main] + steps: + - publish: npx -y -p screwdriver-template-main pipeline-template-publish + - tag: npx -y -p screwdriver-template-main pipeline-template-tag --namespace myNamespace --name template_name --version 1.3.0 --tag stable + environment: + SD_TEMPLATE_PATH: ./path/to/template.yaml remove: - steps: - - remove: npx -y -p screwdriver-template-main pipeline-template-remove --namespace myNamespace --name template_name + steps: + - remove: npx -y -p screwdriver-template-main pipeline-template-remove --namespace myNamespace --name template_name remove_tag: - steps: - - remove_tag: npx -y -p screwdriver-template-main pipeline-template-remove-tag --namespace myNamespace --name template_name --tag stable + steps: + - remove_tag: npx -y -p screwdriver-template-main pipeline-template-remove-tag --namespace myNamespace --name template_name --tag stable ``` Screwdriverのパイプラインをテンプレートリポジトリで作成し、テンプレートのバリデートとパブリッシュを行うためにビルドを開始します。