Docker 搭建 Jenkins 流水线项目配置

本篇介绍 Jenkins 流水线项目的配置及流水线脚本语法规则。至于 Jenkins 的安装及其它配置,我之前写过一篇文章可以查看。 https://www.yuque.com/testpu/pro/bo7lzr ,以下,演示也是基于这篇文章中介绍的 Jenkins 配置为准。


1、流水线项目配置

安装完流水线的插件可以,创建项目时会出现对应的流水线项目选项,如下:

输入名称,api_pipeline_dev 选中,流水线,即可创建对应项目。

至于,其它配置,如,git拉取代码,jdk,maven、远程服务器等,查看我的上一篇文章,这里只介绍 Jenkins 流水线项目的创建及流水线脚本。

2、流水线 api-jar包打包脚本

下面是 api jar包的构建及部署脚本。

2.1脚本说明:

1、编译构建脚本中这个命令非常关键,如果你的项目工程存在多个微服务,那么你从 Git 仓库拉取下来的代码多了一层目录(根目录中不会有 pom.xml 这个文件),此时必须要指定这个文件的位置,否则 maven 识别不了,哈哈哈哈。用如下的方式指定该文件的位置,比如:

# 指定pom.xml文件的位置,基于Jenkins工作目录的相对目录

'mvn -f litemall/pom.xml clean install'

2、部署脚本有两种实现方法,一种是直接用 Jenkins 的ssh插件,传输 jar 到远程服务器(上面脚本注释的部分),另外一种是在远程服务器上写好部署脚本,用 Jenkins 执行远程服务器上的部署脚本,按自己项目需求二选一。

远程服务器上的部署脚本如下。

#!/bin/bash

host='192.8.8.8'

name='booksmpil-all-5.1.0-exec.jar'

dir='booksmpil'

DT=`date +%Y%m%d%H%M`

if ps -ef|grep $name |grep -v "grep" &>/dev/null; then

  java_pid=`ps -ef | grep $name | grep -v "grep" | awk '{print $2}'`

  echo "kill -9 的pid:" $java_pid

  kill -9 ${java_pid}

fi

echo '【开始暂停jar包】'

if ps -ef|grep $name |grep -v "grep" &>/dev/null; then

  echo "Tomcat stop failed.Please check the problem."

  exit 5

fi

cd /data/api

cmd='mv '$dir' bk/'$dir'_'$DT

echo $cmd

eval $cmd

echo '【项目备份完成】'

sleep 3

if [ ! -d booksmpil ]; then

  mkdir $dir

fi

sleep 3

scp -rq root@$host:/data/jenkins/jenkins_home/workspace/api_pipeline_dev/booksmpil/booksmpil-all/target/$name /data/api/$dir

sleep 2

echo '【项目部署完成】'

sleep 2

cd /data/api/$dir

cp /data/api/confbk/appconifg-all.yml ./appconifg-core.yml

echo '【备份配置完成】'

source /etc/profile

nohup java -jar $name >/dev/null &

if ps -ef|grep $name |grep -v "grep" &>/dev/null; then

  echo '【启动jar包】'

fi

NR=`ps -ef | grep "${name}" | grep -v grep | wc -l`

if [ "$NR" -eq 1 ]

then

        echo '【启动成功】'

else

        echo '【启动失败】'

fi

3、流水线脚本语法生成

Jenkins 自带流水线语法生成插件,入口项目配置-流水线-流水线语法

3.1Git拉取代码脚本生成

选中红框中的步骤,然后依次填写Git仓库的信息,点击 ‘生成流水线脚本’即可。

3.2执行 shell 脚本生成

选中红框中的步骤,然后写你要执行的 shell 脚本,点击生成即可。

3.3向远程服务器发布jar包脚本生成

依次填写远程服务器的配置、远程目录、源文件地址等信息后,点击生成。

还有很多流水线脚本生成语法,按需生成。


读后感

来这里找我交流

QQ群:330374464

公众号:软件测试资源站(ID:testpu)

CSDN:https://blog.csdn.net/mcfnhm

语雀:https://www.yuque.com/testpu/pro

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容