2017-11-20 14 views
0

私は、RESTコマンドを実行して結果を処理するpythonスクリプトを持っています。私はこのスクリプトを別のJenkins Pipelinesで使いたいと思っています.Jenkinsの公式ドキュメントで見つけたのは、「共有ライブラリ」とそのサンプル(オンラインで見つけた他の例もあります)を使用する方法です。Jenkins PipelineでGroovy以外の言語で '共有ライブラリ'を作成することはできますか?

私の質問は、Groovy以外の言語で共有ライブラリを作成できますか?例えば、 Python?

答えて

2

短い回答はいいえ。すべてのJenkinsパイプラインの実行(今すぐ)は、Pipeline: Groovyプラグインで実行され、Groovy CPSライブラリを使用してコンパイルとランタイム変換を実行するGroovy専用です。 Jenkins Pipelineのエコシステムは、Groovyと非常に密接に関連しています。それは将来変わるかもしれませんが、今の努力に値するものではありません。あなたは何ができるか

あなたが本当に共有ライブラリでPythonコードを使用する場合は、ライブラリのresources/フォルダに入れた後、パイプラインの段階でそれをロードして実行することです。あなたは、Pythonを使用したい理由のためのあなたのユースケースはそれほど以下、述べた(またはwhat problem you are trying to solve)されていない不自然な例である:あなたの共有ライブラリ内

  • resources/com/mkobit/sharedlib/my_file.py

    #!/usr/bin/env python 
    print("Hello") 
    
  • 共有ライブラリ Groovyのグローバル変数:消費者0123でvars/mkobitVar.groovy

    def runMyPython() { 
        final pythonContent = libraryResource('com/mkobit/sharedlib/my_file.py') 
        // There are definitely better ways to do this without having to write to the consumer's workspace 
        writeFile(file: 'my_file.py', text: pythonContent) 
        sh('chmod +x my_file.py && ./my_file.py') 
    } 
    
  • @Library('mkobitLib') _ 
    
    node('python') { 
        mkobitVar.runMyPython() 
    } 
    
+0

その簡単にはPythonスクリプトを使用して、curlコマンドを実行するためにので、私は、Pythonを使用しています素敵な返事に感謝し、私はGroovyで流暢ではありませんよ。 私はあなたの言いたいことをもう一度感謝します。 –

関連する問題