Jenkins创建多分支流水线

这篇具有很好参考价值的文章主要介绍了Jenkins创建多分支流水线。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


        在我们的实际开发过程中,我们势必会存在多个分支进行不同的研发需要,这个时候如果不同分支就要我们去jenkins创建对应的任务就比较麻烦,这个时候就可以使用jenkins的多分支流水线,我们只需要配置好,各个分支的流水线就都帮我们创建好了。

一、准备工作

我们本次实践中需要用到maven进行打包,所以我们首先配置好maven,让其可以正常使用

在“系统管理”->“系统配置”->“全局属性”中,我们选择“环境变量”,这里的maven相关环境变量配置正确即可,注意路径需要更换成自己的路径

Jenkins创建多分支流水线
Jenkins创建多分支流水线
注:单词不要写错,“PATH+EXTRA”中间是“+”,千万不要配置错了

PATH+EXTRA
$MAVEN_HOME/bin

在“全局工具配置”中,设置自己的setting.xml文件
Jenkins创建多分支流水线
jenkins安装以及一些基础配置可以参考一下文章
Docker安装Jenkins
Jenkins部署Git中的Springboot项目(一)
Jenkins部署Git中的Springboot项目(二)

二、安装插件

1、安装Docker和Docker Pipeline

Jenkins创建多分支流水线
Jenkins创建多分支流水线
Jenkins创建多分支流水线

2、安装Blue Ocean

Jenkins创建多分支流水线

3、安装Publish Over SSH

Jenkins创建多分支流水线
具体配置参数如下文章
Jenkins部署Git中的Springboot项目(二)

三、创建多分支流水线

在jenkins主页点击“打开Blue Ocean”
Jenkins创建多分支流水线
进入Blue Ocean创建新的流水线
Jenkins创建多分支流水线
选择Git仓库
Jenkins创建多分支流水线
配置自己要部署的Git仓库信息,然后创建证书和流水线
Jenkins创建多分支流水线
创建完成之后进入首页就可以看到我们刚才创建的流水线了

Jenkins创建多分支流水线
点击进入该流水线,我们可以对相关配置进行完善Jenkins创建多分支流水线
名称与描述信息自己随便写就行
Jenkins创建多分支流水线
Git仓库信息必须配置正确,否则会创建失败,并且获取不到分支信息
Jenkins创建多分支流水线
这个可以简单理解为就是之前没有的构建保留多久,根据自己要求配置即可
Jenkins创建多分支流水线
配置完成之后就会自动扫描该仓库的所有分支并创建好对应的流水线
Jenkins创建多分支流水线
接下来就能看到我们的多分支流水线项目了
Jenkins创建多分支流水线
我们也可以手动扫描仓库分支
Jenkins创建多分支流水线
此时我们每个分支的流水线就都自动创建好了
Jenkins创建多分支流水线

配置完成后,进入Blue Ocean,也可以看到我们的两个分支流水线
Jenkins创建多分支流水线
无论在jenkins页面或者Blue Ocean页面,都可以启动多分支流水线任务,Blue Ocean的页面效果会更好一些。

四、配置以及脚本

代码中我们找到Jenkinsfile,操作比较简单,自己可以根据自己需要做更多的功能,这个必须放到项目的根目录下
大致就是先使用maven进行打包,然后将jar包发送到我们部署的机器上,调用脚本执行即可完成

pipeline {
  agent any
  stages {
    stage('Check Mvn') {
      parallel {
        stage('first mvn version') {
          steps {
            sh 'mvn --version'
          }
        }

        stage('Mvn Package') {
          steps {
            sh 'mvn clean package'
          }
        }

      }
    }

    stage('Send') {
    	steps {
    		sshPublisher(
    			continueOnError: false,
    					failOnError: true,
    					publishers: [
    					sshPublisherDesc(
                            configName: "vm-128",
                            transfers: [sshTransfer(sourceFiles: 'target/button_swagger.jar',
                            removePrefix: 'target/', remoteDirectory: '/')],
                            verbose: true
    				)
    			]
    		)
    	}
    }
    stage('Start') {
        steps {
            sshPublisher(
                continueOnError: false,
                    failOnError: true,
                        publishers: [
                            sshPublisherDesc(
                            configName: "vm-128",
                            transfers: [sshTransfer(execCommand : '/home/button.sh')],
                            verbose: true
                        )
                    ]
            )
        }
    }
  }
}

说明:
configName: “vm-128” ,这个配置必须与Publish over SSH中的Name保持一致,否则会执行失败
Jenkins创建多分支流水线

jenkins打包完成之后,就会使用Publish over SSH插件将jar包发送到对应的部署服务器中,在部署服务器上我写了一个简单的脚本,大概就是将jar包通过docker构建成镜像,然后启动镜像即可完成jar包的启动,如下是执行脚本与Dockerfile文件的内容
Jenkins创建多分支流水线

/home/button.sh文件内容(脚本随便写了写,自己根据自己需要编写shell脚本即可)

#!/bin/bash
imagesname=button_swagger
container=button_swagger
# 停止项目
if [[ "$(docker inspect button_swagger 2> /dev/null | grep '"Name": "/button_swagger"')" != "" ]]; 
then 
  echo $container "存在,停止并删除"
  docker stop button_swagger
  docker rm button_swagger
else 
  echo $container "不存在"
fi
# 删除镜像
if [[ "$(docker images -q $imagesname 2> /dev/null)" != "" ]]; 
then 
  echo $imagesname '镜像存在,删除它'
  docker rmi $(docker images -q $imagesname 2> /dev/null)
else 
  echo $imagesname '不存在'
fi
cd /home
# docker rmi button_swagger:V1
echo "开始构建镜像"
docker build -t button_swagger:V1 .
echo "构建镜像完成"
# 启动项目
echo "开始启动镜像"
docker run -d --net=host \
--name button_swagger -p 8099:8099 button_swagger:V1
echo "启动镜像完成"

/home/Dockerfile

FROM java:8
MAINTAINER zhanghang
VOLUME /tmp
ADD ./button_swagger.jar button_swagger.jar
RUN bash -c 'touch /button_swagger.jar'
EXPOSE 8099
ENTRYPOINT ["java", "-jar", "/button_swagger.jar"]

四、构建项目

1、jenkins主页面构建
进入我们对应的多分支流水线,选择对应的分支,点击立即构建即可
Jenkins创建多分支流水线
通过Console Output可以查看构建的log
Jenkins创建多分支流水线

2、Blue Ocean中构建
Jenkins创建多分支流水线
点击即可查看具体的执行过程,Blue Ocean中查看会更直观一下
Jenkins创建多分支流水线

构建完成之后即可在部署服务器上进行查看
Jenkins创建多分支流水线文章来源地址https://www.toymoban.com/news/detail-450132.html

到了这里,关于Jenkins创建多分支流水线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jenkins流水线

    1、 二、 三、 四、 五、 六、  

    2024年02月05日
    浏览(57)
  • Jenkins流水线怎么做?

    问CHAT:Jenkins流水线怎么做? CHAT回复:Jenkins流水线是一种创建、测试和部署应用程序的方法。以下是为Jenkins创建流水线的步骤: 1. 安装Jenkins:首先你需要在你的服务器上安装Jenkins。这个过程可能会根据你的操作系统有所不同。 2. 安装必要的插件:为了使流水线工作,你需

    2024年01月24日
    浏览(55)
  • 【Jenkins】pipeline流水线

    流水线既能作为任务的本身,也能作为jenkinsfile,使用流水线可以让我们的任务从ui手动操作,转换为代码化,像docker的dockerfile一样,从shell命令到配置文件,更适合大型项目,可以让团队其他开发者同事参与进来,同时也可以编辑开发jenkinswebui不能完成的复杂的构建逻辑,作

    2024年02月09日
    浏览(75)
  • Jenkins的流水线详解

    来源:u.kubeinfo.cn/ozoxBB 什么是流水线 声明式流水线 Jenkinsfile 的使用 jenkins 有 2 种流水线分为 声明式流水线 与 脚本化流水线 ,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。文档只介绍声明流水线。 声明式流水线 在声明式流水线语

    2024年02月11日
    浏览(48)
  • Jenkins-流水线-保姆级教程

    目录 一、Jenkins 是什么? 二、安装方式 2.1 下载并运行 Jenkins  三、什么是流水线 3.1概述 3.2声明式流水线 3.3脚本化流水线 四、声明式流水线 4.1 Sections代码区域块 4.1.1Agent指令 4.1.2agent 的配置示例 4.1.3Post代码块 4.1.4.sepes代码块 五、Jenkinsfile的使用 5.1环境变量 5.1.1静态变量

    2024年02月01日
    浏览(48)
  • Jenkins 流水线多阶段构建

    Jenkins流水线配置遇到 无法识别的。需要使用 自定义环境 项。 比如官网的在流水线中使用Docker Started by remote host 172.17.0.1 Obtained Jenkinsfile from git http://10.99.20.51:8082/root/java-devops-demo.git org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 28: Invalid agent type “

    2024年04月22日
    浏览(38)
  • Jenkins部署Docker与Jenkins流水线

    接上篇 1. 外挂文件的方式在docker容器中启动 2. 将构建运行放入docker容器中(不构建镜像) 修改Jenkins构建前设置 修改部署后操作 重新构建,已经成功构建在容器中 3. 将构建运行放入docker镜像中(采用dockerfile) 1.编写dockerfile,放入项目中, 注意不能和依赖的包同级 写好可

    2024年01月22日
    浏览(55)
  • 【Jenkins】Jenkins构建后端流水线

    xxxx后端-后端cim服务测试环境-项目构建 创建人:创建者姓名 时间:创建时间 保持构建天数:2 保持最大构建个数:3 ①clean:清楚之前;package:打包 -Dmaven.test.skip=true:跳过测试;-U:强制让Maven检查所有SNAPSHOT依赖更新 这里的pom.xml文件注意: Branches to build:分支某个环境的

    2024年02月12日
    浏览(54)
  • jenkins流水线实现xjar加固

    xjar的定义 功能特性 xjar使用 修改项目中的pom.xml,一般都是开发改 jenkins流水线配置 查看jenkins工作目录 远端服务器配置–☞需要授权的服务器 获取授权服务器信息 执行脚本 脚本内容, 1.判断镜像是否存在 2.把xjar.go解压,需要有go环境 3.制作镜像,然后把镜像制作成tar包

    2024年02月07日
    浏览(59)
  • docker中的jenkins之流水线构建

    创建两个参数,一个是宿主端口号,一个是docker中的端口号 其中 Dsonar.host.url=http://docker.for.mac.host.internal:9000’ 主要是docker中的jenkins访问docker中的sonarQube,详情可以看我另外推文:https://blog.csdn.net/weixin_48319193/article/details/132124664?spm=1001.2014.3001.5501 填写端口号 启动 sonarQube成功

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包