jenkins安装与使用

jenkins安装

环境

  • jdk 8:推荐解压安装

安装

  • 官网下载并运行:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/
  • 运行命令:java -jar jenkins.war --httpPort=8080
    • 运行后控制台会打印一串管理员密码
    • 运行后浏览器访问jenkins服务,http://localhost:8080,进行初始化,输入控制台打印的管理员密码
    • 点击:安装推荐的插件
    • 插件安装完成后,出现:创建第一个管理员用户 页面,填写表单信息
    • 安装完成

环境准备、安装及配置插件

构建项目准备

  • 在git服务器拉取代码
    • git环境:用yum安装即可:yum install -y git
  • 用 maven 构建项目:推荐解压安装
    • maven环境
      • 配置本地仓库地址
      • 配置中央仓库的镜像地址

jenkins 安装 maven插件

  • Manage Jenkins(系统管理)Manage Plugins(插件管理)可选插件
  • 安装 Maven Integration 插件

jenkins 配置 maven

  • Manage Jenkins(系统管理)Global Tool Configuration(全局工具配置)Maven(在后面,不是第一个)Maven 安装新增Maven
  • Name:写一个名字
  • 取消自动安装,Maven Home:/usr/maven/apache-maven-3.8.6

jenkins 安装 SSH插件

  • 作用:将构建好的程序包发送的到远程服务器

  • 安装Publish Over SSH插件

jenkins 配置 SSH

  • Manage Jenkins(系统管理)Configure SystemPublish over SSH(在后面,先安装插件)SSH Servers新增
  • Hostname:ip地址
  • Username:用户名(root)
  • 点击高级,选中 Use password authentication, or use a different key,选择Passphrase / Password:服务器的密码
  • 点击后面的Test Configuration:测试连接是否成功
  • Remote Directory:将文件发送到远程服务器时的前缀,默认为当前用户的家目录(root)
  • 保存

jenkins 安装 Build Authorization Token Root 插件

  • 作用:通用url构建项目,不需要认证,配合gitlab钩子方法等
  • 安装 Build Authorization Token Root

构建项目

构建maven项目(基础)

  • 返回到首页,新建任务,选择 构建一个maven项目,构建,进入到下一个页面
  • 源码管理,选择git
    • Repository URL:项目地址,不需要在此处配置git的用户名密码,可以采用SSH或者账户密码的形式,但是都不需要在这里配置,提前在机器上配置好
    • Branches to build:指定分支
    • 构建触发器、构建环境、Pre Steps 默认
    • Build:未配置maven会让先配置maven
      • Root POM:pom.xml 文件的位置,项目名目录下的相对路径
    • 其它默认

配置Post Steps

  • 打开项目,选择配置,选择Post Steps
  • 选择Run regardless of build result(第3个)
  • Add post-build step 下拉框,选择Send files or execute commands over SSH(需要先装插件)
  • name:选择之前配置的远程服务器
  • Source files:当前服务器,用jenkins编译好的jar包的路径,默认前缀是当前任务的工作空间(/root/.jenkins/workspace/xx),target/*.jar
  • Remove prefix:去除目录层级,默认发送到目标服务器与source files 的相对目录层级一致,可以去掉一部分目录,target
  • Remote directory:目标服务器,存放发过来jar包的路径,前缀为配置Publish Over SSHRemote Directory的值,/project/xx
  • Exec command:在目标服务器上执行命令,jenkins远程执行命令可能无法读取环境变量,比如:java可以使用全路径
shell脚本
#!/bin/bash

#删除历史数据
#rm -rf xxoo

appname=$1
#获取传入的参数
echo "arg:$1"

#获取正在运行的jar包的pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
	then
		echo "$appname not started"
	else
		kill -9 $pid
		echo "$appname stopping ..."
		
		check=`ps -ef | grep -w $pid | grep java`
		if [ -z $check ];
			then
				echo "$appname pid:$pid is stop"
			else
				echo "$appname stop failed"
		fi
fi

配置构建触发器

触发远程构建
  • 打开项目,选择配置,选择构建触发器
  • 选择触发远程构建
    • 身份验证令牌:填写一个字符串(token)
    • 访问链接(上面有提示): JENKINS_URL/job/项目名/build?token=xxx,访问这个链接就可以触发构建了,但是这个链接需要登录验证
  • 利用Build Authorization Token Root插件免登录,使用新的链接:JENKINS_URL/buildByToken/build?job=项目名&token=xxx,仍然需要将触发远程构建打开,token就是触发远程构建的token
  • 可配合gitlab的钩子方法使用
定期检查代码变更/Poll SCM
  • 使用cron表达式定时检查代码变更,变更后构建job
  • 类cron表达式,H表示根据项目名算出的hash值,不同项目名算出的hash值一般不同,可避免同时执行定时任务

邮件通知

  • 安装插件:Extended E-mail Notification,安装jenkins时,选择推荐插件安装会包含该插件
  • Manage Jenkins(系统管理)Configure SystemJenkins Location
    • 配置 Jenkins URL
    • 配置系统管理员邮件地址
  • Manage Jenkins(系统管理)Configure SystemExtended E-mail Notification
    • 配置 SMTP server
    • Default Triggers:事件触发器
  • Manage Jenkins(系统管理)Configure System邮件通知
    • 系统级别的
  • 打开项目,选择配置,选择构建后操作
    • 增加构建后操作步骤Editable Email Notification,点击后面的Advanced Settings
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值