問題タブ [jenkins-docker]
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.
jenkins - 複数のステージ間で Jenkins のエージェント (docker コンテナー) を再利用する
複数のステージを持つパイプラインがあり、すべてではなく「n」個のステージ間でドッカーコンテナーを再利用したい:
jenkins - Jenkins 共有ライブラリで Docker を使用してビルドする
hereのように、Jenkins パイプラインを (共有) オブジェクトとして定義しようとしています。しかし、docker コンテナー内でビルド アクションを実行する機能を追加したいと考えています。
私のJenkinsfile
作品は次のようになります。
ご覧のとおり、dockerインスタンスは Jenkinsfile で作成され、ビルダー オブジェクトに渡されてビルダーが作成されます。これまでのところ、動作します。ステージはinside
コンテナーで実行されます。
次に、Docker インスタンスの作成を Pipeline クラスに転送しますSconsPipeline.groovy
。私はそれをやろうとしました:
しかし、ジェンキンスは正しいオブジェクトを見つけることができません:
私の質問は、共有ライブラリのオブジェクト コード内でdocker-workflowを使用する方法です。
jenkins - docker コンテナーで Jenkins マスターの ssh 公開鍵を取得する方法
Jenkins の公式ガイドに従い、マスターは Docker コンテナーとして実行されています。現在、この Jenkins マスターのスレーブとして別のマシンをセットアップしようとしていますが、マスターの公開 SSH キーを新しいスレーブ マシンに手動でコピーする必要があると思います。これらのキーにアクセスするにはどうすればよいですか? 何度も破棄して作成できる Jenkins コンテナが問題ではないでしょうか。ジェンキンス データ用の永続的なボリューム コンテナーがありますが、キーがある場所ではないと思います。
jenkins - docker-container を jenkins ビルド エージェントとして使用しているときに、ワークスペース内のビルド ディレクトリを保持するにはどうすればよいですか?
Jenkins ビルド エージェントとしてdocker コンテナーを使用しています。すべてのビルド エージェント、jenkins マスター ノードは、同じホスト上で実行される Docker コンテナーです。(異なる VM はありません)
以下は、Angular アプリを構築するために使用している Docker Agent テンプレートです。
- これらは、sshd を使用する Docker エージェントです。公開鍵は、env 変数を使用して挿入されます。
- build Agent Docker イメージには、npm と angular-cli がインストールされています。
Jenkinsファイルは以下の通りです。Jenkins ファイルを変更できません。したがって、上記のビルド エージェントは、jenkinsfile でノードとしてラベル付けされています。
- ビルドが正常に実行されます。アーティファクトを取得できます
私がやっている ことは、docker テンプレート構成で .npm と node_modules をマウントします。(-v)
私が欲しいもの
より速いビルド。Docker ボリューム マウント オプションを使用して、このワークスペース ディレクトリを保持したい
そのため、node_modules は永続的であり、ビルドが高速になります。そのディレクトリ パスを取得して docker エージェント テンプレートに入れるにはどうすればよいですか?