簡體   English   中英

編寫Jenkins管道作業腳本

[英]Script a Jenkins Pipeline Job

我正在使用Docker映像: jenkins / jenkins:lts

我有很多groovy腳本,這些腳本在$JENKINS_HOME/init.groovy.d/構建期間復制到$JENKINS_HOME/init.groovy.d/目錄中。

我想編寫一個腳本來創建一個新的Pipeline作業,但是我一直在尋找有關如何執行此操作的任何信息。 創建作業后,所有教程似乎都是關於如何使用管道插件的...

下面的腳本是我所追求的示例,但這是針對Freestyle項目而不是Pipeline的:

#!groovy

import jenkins.model.Jenkins;
import hudson.model.FreeStyleProject;
import hudson.tasks.Shell;
import hudson.triggers.SCMTrigger;

def jenkins = Jenkins.getInstance();
def initJob = jenkins.createProject(FreeStyleProject, 'init-job');

initJob.setDescription('This is a dummy project');

好的,所以我真的很笨。管道以前稱為Workflow,它在UI中告訴您

在此處輸入圖片說明

所以對我來說是:

#!groovy

import jenkins.model.Jenkins;
import hudson.model.WorkflowJob;
import hudson.tasks.Shell;
import hudson.triggers.SCMTrigger;

def jenkins = Jenkins.getInstance();
def initJob = jenkins.createProject(WorkflowJob, 'init-job');

initJob.setDescription('This is a dummy project');

Job DSL Plugin讓您使用groovy編寫作業腳本。 您可以將所有配置保留在VCS中,並告訴Jenkins運行Job DSL腳本以生成所有作業。 創建管道作業很簡單:

pipelineJob('example') {
    definition {
        cps {
            script(readFileFromWorkspace('project-a-workflow.groovy'))
            sandbox()
        }
    }
}

本示例取自Job DSL API Viewer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM