問題タブ [jenkins-declarative-pipeline]
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.
docker - Jenkins 宣言型パイプラインで Docker for Windows を使用する
を介して、Jenkins 宣言型パイプラインと Docker-for-Windows エージェントを使用して CI ワークフローをセットアップしていますDockerfile
。
注: 残念ながら、Windows バイナリを実行する必要があるため、Linux ベースの Docker デーモンを使用することは現在のところ解決策ではありません。
セットアップ: Jenkins マスターは、Docker を介して Linux 16.04 で実行されます。Jenkinsビルドエージェントは
- Windows 10 エンタープライズ 1709 (16299.551)
- Docker-for-Windows 17.12.0-ce
Docker 18.x では、Windows コンテナーを使用しようとすると頭が痛くなったので、17.x にロールバックしました。Jenkins と nohup がパス上にない状態で実行しようとすると、まだいくつかの問題がありましたが、Git バイナリを Windows 検索パスに追加することで解決しました(別の参照)。現在の問題が関連していると思われます。
コード:Jenkinsfile
を初期化し、単純な hello-world-printout を内部で実行しようとしています。
/ジェンキンスファイル
/Dockerfile
基本的に、これは単に "Hello, World!" を出力するクリーンなイメージである必要があります。しかし、ジェンキンスでは失敗します!
ログからの出力:
jenkins - ジェンキンスの宣言型パイプラインのスクリプトブロックで定義された変数を変更する方法
スクリプトで変数TENTATIVE_VERSIONを宣言しました。スクリプトの実行 (または他のステージのスクリプト自体) から得られる値で変数を定義/変更する必要があります。これを行うにはどうすればよいですか? 私の現在のスクリプトは次のようなものです: