Jenkins Configuration as Code:ドキュメント


この記事は、Jenkins Configuration as Codeに関する6回シリーズの第5回です。

Jenkins configuration as codeを使用すると、Jenkinsマスターの設定を簡潔で宣言的なYAMLファイルとして作成し、コードとして管理できます。ところでこのYAMLファイルはどう書けばよいのでしょうか?

YAML設定ファイルの書き方

フォーマットを推測しながら書くのでしょうか?実際、それが可能です。JCasCはJenkinsコンポーネントの内部データモデルを使用しますが、これは多くの場合、設定に使用するWebユーザーインターフェイス(UI)のフォーム要素とまったく同じです。下のサンプルを見てください。

Jenkins:
systemMessage: "Jenkins managed by Configuration as Code"

securityRealm:
  ldap:
    configurations:
      - server: ldap.acme.com
    cache:
      size: 100
      ttl: 10
    userIdStrategy: CaseInsensitive
    groupIdStrategy: CaseSensitive

これを手動で設定する場合のWeb UIと比較してみてください。

見覚えがありますか?そのとおりです。私たちは、Web UIは一種の自然なドキュメントであると考えています。そのため、長いリファレンスドキュメントを調べなくても、 Jenkins configuration as codeを使い始めることができます。

それでもドキュメントが欲しい!

分かりました。できるだけYAMLの構文がWeb UIを反映するようにしていますが、それでも何かのときや、疑問が生じたときに参照できるよう、リファレンスや網羅的なドキュメントを作成したいと思います。

Jenkins configuration as codeはYAMLの構文に関する詳細なドキュメントを生成します。このドキュメントは、すべてのYAML要素の利用可能な属性、可能な値、制約、および説明をリストしたものです。使用可能な要素はインストールされているプラ​​グインに依存するため、このドキュメントは実際のJenkinsインスタンスから動的に生成されます。

 

 

また、IDEやお気に入りのYAMLエディターでこの設定を記述するときに役立つように、 JSONスキーマも生成します。

今後は、Jenkinsマスターに設定を適用する前に、その設定が有効であることをチェックしたり、IDEサポートによる編集を支援するために、より多くのツールが提供される予定です。当面は、Jenkins configuration as codeのチェック用REST APIを使用してマスターに適用する前に設定ファイルを模擬実行します。

では、この次は?

Jenkins Configuration as Codeプラグインの詳細については、プロジェクトのGitHubリポジトリをご覧ください。 コミュニティやコントリビューターとチャットするには、私たちのgitterチャネルに参加してください。

また、Jenkins configuration as codeの次回の投稿もお見逃しなく!

シリーズの他の回

Jenkins Configuration as Code:最初の一歩(ママ見て、すごいでしょ)

Jenkins Configuration as Code:機密データの扱い

Jenkins Configuration as Code:プラグインをどう扱うか

Jenkins Configuration as Code:もっとスピードを!

(この記事は、CloudBees社 Blog 「Jenkins Configuration as Code: Documentation」2018年9月12日 Nicolas De Loof 投稿の翻訳記事です。)