0

jenkins 2 で共有ライブラリを使用しています。つまり、さまざまな段階で記述しているパイプライン コードの一部を再利用する機能を利用しています。

これはモジュールvars/utils.groovyの例です

def set_virtual_env() {
    sh """
    chmod 777 virt_run_pytest.sh
    chmod 777 install_python_venv.sh

    pip install -U setuptools
    bash install_python_venv.sh
    """
}

パイプライン スクリプトで実行しようとすると、次のエラーで失敗します。

groovy.lang.MissingPropertyException: No such property: set_virtual_env for class: groovy.lang.Binding

その理由は、この関数に変数を渡していないためであり、その結果、正しくインスタンス化されていないと思われます。

したがって、実際の質問は、「引数を必要としない共有ライブラリ関数を呼び出すにはどうすればよいか」ということになるかもしれません。

4

1 に答える 1