LoginSignup
0
0

groovy以外のファイルのスクリプトをjenkins pipelineで使う方法

Last updated at Posted at 2023-12-06

どんな時の話?

  1. jenkins pipelineでビルドスクリプトをSCMチェックアウトで取ってくる
  2. 新たに、ビルド対象のrepositoryを取得
  3. groovy以外のpy, bat, shファイルなどを動かしたい(こいつは、1番目のビルドスクリプトと同じrepositoryに存在)

という状況があったとします。
これの解決方法

どうするか

答えとしては、明快です。
1番目のビルドスクリプトを配置しているrepository取得時に、pythonなどのファイルをローカルに作成します。

stage ('SCM checkout') {
        checkout scm
 
        hogeUtility = load "hogehoge/utils/hogeUtility.groovy"

        // hoge.pyをローカルに作成
        hogepy = readFile(file:'hogehoge/utils/hoge.py') //✨これ
        writeFile(file:'hoge.py', text:hogepy) // ✨これ
    }
...
 

参考:

これをすると、workspaceフォルダのroot直下にhoge.pyが作成されます。
これに合わせてpythonをコマンドで叩けばOKです。
パスをコピー元と一緒にしたい場合は、fileで指定すればよいです。

sh 'python hoge.py'

とかですかね。

まとめ

欠点としては、いちいちファイルを作ることです。
面倒ですね。
groovyの中に直接書いてもいいかもしれません。
本稿の目的は、すでにあるpythonファイルなどをそのまま動かしたい場合です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0