如何使用jenkins构造流水线项目

介绍

  • 基本概念
    pipeline 是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。
  • Pipeline 的好处

  • 代码:以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。

  • 持久:无论是计划内还是计划外的服务器重启,Pipeline都是可恢复的

  • 可停止:Pipeline可接收交互式输入,以确定是否继续执行Pipeline

  • 多功能:Pipeline支持现实世界中复杂的持续交付要求,他支持fork/join,循环执行,并执行任务的功能。

  • 可拓展:**Pipeline插件支持其DSL的自定义拓展,以及与其他插件集成的多个选项

部署maven项目演示(war包 | Pipeline script)

  • Pipeline script方式的流水线,则将流水线脚本内容放在jenkins页面中设置

  • 创建作业-选择流水线项目,点击作业配置,来到最下面设置流水线语法

获取拉取项目脚本

在这里插入图片描述

  • 配置完点击下方生成流水脚本,即可生成对应的脚本数据
    在这里插入图片描述
    在这里插入图片描述

获取部署项目脚本

  • 通过点击流水线语法 所跳转的页面
  • 设置的tomcat凭据具体如何设置 请至:jenkins使用文章的最下方的宿主机开启远程部署查看
    在这里插入图片描述

流水线代码jenkinsfile模板

pipeline {
	agent any
	
	stages {
		stage('拉取代码') {
			steps {
				拉取项目流水线脚本~
			}
    	}
    
        stage('编译构建') {
            steps {
                sh label: '', script: 'mvn clean package'
            }
        }
        stage('deploy') {
            steps {
               部署项目流水线脚本~
            }
        }
  	}
}

点击立即构建 即可开始执行拉取项目并部署到指定的tomcat上去~

部署springboot项目演示(jar包 | Pipeline script from SCM | 重点)

  • Pipeline script from SCM方式的流水线,则将流水线脚本文件Jenkinsfile内容放在idea项目中

准备一个springboot项目

  • 此项目放在码云上
  • 将流水文件Jenkinsfile放在项目里,则在jenkins页面配置无需写流水脚本,选择from SCM方式的流水线即可

在这里插入图片描述

jenkins配置流水线

  • 直接选择要拉取项目的git地址和自己账号密码的凭据即可

在这里插入图片描述

部署阶段将jar包放进另一个服务器中并开启项目

jenkins容器配置(传输jar包)

在这里插入图片描述

  • 输入在jenkins容器中输入命令ssh-keygen -m PEM -t rsa 生成私钥和公钥
  • 然后输入 ssh-copy-id 另一台服务器的ip地址 将公钥传过去,这样以后用scp传文件则无需输入密码
  • 在jenkins容器中jar包位置输入命令 scp xxx.jar root@另一台服务器ip地址:/xx/xx 将此jar包扔到另一台服务器上(这段作为流水线脚本,放在jenkinsfile文件中)
  • 流水线脚本,部署部分脚本则为:sh "scp target/cicd-springboot-1.0-SNAPSHOT.jar root@192.168.8.11:/usr/local"
    在这里插入图片描述

运行的服务器配置(开启jar包项目脚本)

  • 此服务器为jenkins容器将打包好的项目传过来的服务器,路径为/usr/local
  • 在/usr/local 路径下 创建一个deploy.sh脚本文件,输入命令行
vi deploy.sh
  • 编辑内容为 打开此项目的命令(路径都为绝对路径)
/usr/local/jdk1.8/bin/java -jar  /usr/local/cicd-springboot-1.0-SNAPSHOT.jar
  • 赋予此文件启动权限
chmod 777 deploy.sh

jenkins页面配置(生成ssh服务流水脚本)

在这里插入图片描述

  • 系统管理-插件管理-可选插件,搜索以下插件进行下载
    在这里插入图片描述

  • 点击流水线任务-配置-流水线语法

  • 选择此ssh类型的配置,设定一个ssh服务名即可,直接生成流水脚本
    在这里插入图片描述

  • 将此流水线放在Jenkinsfile文件中的部署部分即可

  • 在此流水脚本中的execCommand属性(默认是空的)内 输入服务器中运行项目的脚本文件路径(之前写好的的deploy.sh文件)
    在这里插入图片描述

  • 在系统管理-系统配置 , 对刚生成的ssh服务进行配置
    在这里插入图片描述

  • 填写私钥路径,以及之前配置的服务名,和要运行jar包项目的服务器ip地址
    在这里插入图片描述

效果描述

上传项目到码云上,jenkins会通过git链接,拉取并将项目打包成jar包扔到另一台服务器上,并且在那台服务器启动该项目,浏览器输入该服务器ip地址+端口即可访问项目~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值