首页 > 其他分享 >jenkins share library

jenkins share library

时间:2023-05-17 12:13:39浏览次数:35  
标签:groovy vars share runMap library org jenkins

第一步,创建一个存放groovy配置文件的共享仓库

 

 第二步,在这个共享仓库里必须要有src和vars目录,其实有个vars就行,src中我放了一些共享工具,方便在vars中调用

 第三步,在src/org/devops下有如下内容

[root@master1 jenkins_shared]# cat src/org/devops/otherTools.groovy 
// 这里简单的定义一个函数给 deploy_front_base.groovy 做调用,做个示例
package org.devops

def printMsg(msg) {
    println(msg)
}

第四步,vars下有如下内容

[root@master1 jenkins_shared]# cat vars/deploy_front_base.groovy 
/*
首行导入 otherTools
然后最外层是一个 call 函数
接下来全篇就是正常的一个 pipeline 声明式写法(脚本式也如此)
*/
import org.devops.otherTools

def call(Map runMap) {

    def timeStr=new Date().format('yyyyMMddHHmm')
    def mytools = new org.devops.otherTools()

    pipeline {
        agent {
            label runMap.RUN_NODE       // 调用 Map 参数里面的值来确定该 Job 跑在哪
        }
        environment {
            serverName = "${runMap.SERVERNAME}"         // 设置 pipeline 环境变量,方便下面调用
        }

        stages {
            stage('拉取代码') {
                steps {
                        script {
                                mytools.printMsg('hello world')         // 放在 script {} 里调用
                        }
                    sh """
                        echo "start time :${timeStr}"
                        echo "pull ${serverName} code"
                    """
                }
            }

            stage('构建项目') {
                steps {
                    sh "echo 'build'"
                }
            }

            stage('启动程序') {
                steps {
                    sh "echo 'start'"
                }
            }
        }
    }
}

在jenkins中配置share library

 

 点击保存,至此jenkins share library已经全部配置好,接下来就去配置项目

 

项目配置

第一步,在项目的git代码仓库中,需要添加一个groovy文件,这个文件是用来调用share library的,必须要有

 testgo.groovy内容如下:

/*
首行是导入前面设置好的 Library,**前面图片中的 Default version 我留空**,这里使用 jenkins_lib@main 给动态填上;如果你的分支是 master ,这里就是 **@Library('jenkins_lib@master') _**
然后定义一个 Map,设置需要的 key value。
最后就是调用 deploy_front_base.groovy] 文件,把 Map 传进去使用。
*/
@Library('jenkinslibrary@main') _

def runMap = [:]
    // 定义项目构建运行的 NODE ,根据实际情况进行调整
    runMap.put('RUN_NODE','master')

    // 项目名
    runMap.put('SERVERNAME', 'hellogo')

deploy_front_base(runMap)

第二步,配置jenkins

 

点击保存

第三步,验证,点击构建

 

标签:groovy,vars,share,runMap,library,org,jenkins
From: https://www.cnblogs.com/fengzi7314/p/17408214.html

相关文章

  • 开源 .Net C# 解放自己从部署服务开始( 类似 jenkins,等发布工具)
    上一个文章中,我把相关概要设计给发出来了。很多朋友还是希望有实际的代码来直接用,我想着那就直接开源吧。目前支持的服务已经从支持CS这种支持到了OSS这种来实现发布和同步。CS这种架构是需要服务端和客户端支持的,OSS这种,就需要客户端<=>OSS服务 <=>OSS服务端来实现。代......
  • 基于jenkins和jmeter实现接口自动化过程
    声明        本公众号所有内容,均属微信公众号:开源优测 所有,任何媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本公众号协议授权的媒体、网站,在使用时必须注明"稿件来源微信公众号:开源优测",违者本公众号将依法追究责任。前面几篇文章中......
  • Jenkins集成SonarQube
     (1)在Jenkins中下载sonar插件系统管理-->插件管理-->可选插件搜索SonarQube-->安装插件(2)配置SonarQubeservers模块并生成token安装完成后,在系统管理->系统设置中,找到SonarQubeservers模块,填写服务器信息,如下图所示: 先生成sonar令牌,添加凭据托管   配置SonarQubeserv......
  • Jenkins 安装部署全过程
    一、Jenkins简介Jenkins是一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务。官方网站:https://jenkins.io/ 二、Jenkins安装部署(1)安装JDK(2)下载Jenkins下载地址:http://mirrors.jenkins-ci.org/基于Linux系统部署:rpm-ivhxxx.rpmservicejenkinsstart......
  • Jenkins(六)——Jenkins配置jenkins返回构建状态到Gitlab
    Jenkins配置jenkins返回构建状态到Gitlab该实验基于Jenkins+gitlab自动构建的实验配置:https://www.cnblogs.com/linagcheng/p/17402174.html一、环境搭建以下环境配置请参考博文:https://www.cnblogs.com/linagcheng/p/17402174.html1、Jenkinsgit插件配置2、Jenkinsgitlab......
  • 工具篇-jenkins 暂时没用 看1
    jenkins持续集成 课程目标了解CI、CD的基本概念掌握Jenkins的主从集群搭建掌握Jenkins角色权限配置、分组配置、全局配置等核心配置的使用掌握Jenkins的持久化原理及目录结构、文件备份与恢复掌握pipeline声明式语法熟练使用pipeline语法配置进行微服务项目基于docker......
  • jenkins 权限控制(用户只能看指定的项目)
    1、在插件管理下载Role-basedAuthorizationStrategy插件 2、打开全局安全设置,设置授权策略3、在管理角色里新增一个全局角色kaifa,只授权Overall的read权限,注意全局角色不要授权job,不然用户只能看指定的项目的权限不生效  4、在管理角色里下拉找到项目角色Itemrole,新......
  • postgresql 更改目类后.conf的位置和shared_preload_libraries写多个的写法
    postgresql更改目类后.conf的位置和shared_preload_libraries写多个的写法postgresql更改了pgdata后。conf会到新的pgdata里面才能看到 需预加载加载多个的话按下面这样写shared_preload_libraries='pg_strom,pipelinedb'  shared_preload_librariesshared_preloa......
  • jenkins的安装和配置(flask结合jenkins半自动化部署流程)
    jenkins在虚拟机中安装1.1背景介绍Jenkins是一款流行的开源持续集成(ContinuousIntegration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins官网:http://jenkins-ci.org/Jenkins特征开源的Java语言开发持续集成工具,支持持续集成,持续部署。易于安装部署......
  • 真机调试可以正常安装,但是不能正常运行,出现错误:couldn‘t find “libc++_shared.so“
    在迁移代码的时候,发现代码可以在模拟器上运行,但是无法在真机上面运行,最后经过挨个的排查,最终发现是ndk的问题。在app的build.gradle中的ndk缺少了匹配的实体机类型,然后加了一下'x86','armeabi-v7a','armeabi','armabi-v7a','x86_64','arm64-v8a','mips','mips64......