問題タブ [jenkins-shared-libraries]
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.
python - Jenkins共有ライブラリ:パッケージに含まれるpythonモジュールからコードを実行するには?
github リポジトリからトリガーされたジェンキンス パイプラインの一部として Python スクリプトを実行したいと考えています。スクリプトをリポジトリ自体に直接保存すると、sh 'python path/to/my_package/script.py'
完全に機能するだけで済みます。ただし、複数のリポジトリの複数のパイプラインからこれを使用したいので、これを jenkins 共有ライブラリに入れたいと考えています。
Pythonファイルをディレクトリに保存し、使用前に一時ファイルにコピーすることを提案するこの質問を見つけました。resources
これは、スクリプトが 1 つのスタンドアロン ファイルである場合にのみ機能します。残念ながら、私のものは複数のpythonファイルとそれらの間のインポートを含むパッケージであるため、それはできません。また、この質問への回答からpythonパッケージを含むフォルダー全体をコピーしようとしました。これは、ライブラリの場所を取得することを示唆しています
しかし、それは私に次のエラーを与えます:
追加のアクセス許可が必要なようですが、取得できるとは思いません (共有マシンです)。
そう?jenkins共有ライブラリからpythonパッケージを実行する方法を知っている人はいますか? 現時点で考えられる唯一の解決策は、Python パッケージのディレクトリ構造を手動で再作成することです。これは、明らかに非常に面倒で一般的ではありません。
PS: groovy で同じスクリプトを作成する代わりに Python スクリプトを使用する特別な理由はありません。Pythonスクリプトが十分にテストされ、十分に理解され、十分にサポートされているというだけです。すべてを groovy で書き直すことは、現時点では現実的ではありません。