jenkins搭建

jenkins的安装: 

(注意不要使用自定义插件https://www.cnblogs.com/wulixia/p/11009523.html)

简单步骤介绍:

环境准备:Java和wget

1.下载安装:

(1)sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

(2)sudo rpm --importhttps://jenkins-ci.org/redhat/jenkins-ci.org.key

(3)sudo yum install jenkins

2.修改jenkins端口:vi /etc/sysconfig/jenkins

3.修改jdk配置:vim /etc/init.d/jenkins

    在文件最后一行添加服务器的Java安装路径

3.启动jenkins:service jenkins restart

4.登录对应的端口号和地址,添加新的管理员用户开始使用

jenkins搭配maven、git实现自动部署发布

在安装时不要使用自定义插件,选择“选择插件来安装”

汉化插件安装:(1)安装插件locale plugin(2)系统管理-->系统设置-->Locale(3)填入zh_CN

安装选择git、gitlab、maven Integration plugin、publish Over SSH(ssh通道,实现ssh信息验证,以实现跨服务器访问)


1.1

配置jenkins的环境变量

(1)系统管理-->全局工具配置:添加maven、jdk、git的配置(建议自己在系统中安装,用系统中的安装路径)

(2)系统管理-->系统配置:添加jenkins location和gitlab的对应信息

(3)ssh通道配置

        系统管理-->系统配置-->Publish over SSH

        添加对应的passphrase(生成ssh密钥时填写的密码),path to key对应生成ssh时的id_rsa文件,key对应id_rsa文件的内容

        SSH server:name自定义,hostname为拉取jar包或者源码的服务器ip,username为登录服务器的账号名,Remote Directory 为id_rsa的文件存放路径(如果默认的.ssh文件报错找不到,可以自定义一个安装目录)

至此,jenkins的安装,插件的添加,jenkins的基本环境变量配置和ssh通道已经添加完成

构建自动化项目

1.新建任务-->起一个项目名,选择构建一个maven项目


2.1

2.添加项目配置(gitlab connetion为环境变量配置的gitlab的选项)

 

2.2

3.选择git的获取地址


2.3

4.构建触发器(记住webhook对应的url,添加git钩子函数的时候需要使用)


2.4

5.构建项目(项目是jar包的方式发布,可以直接package,war包可以使用install,本质上mvn命令内容)


2.5

6.构建后操作,填写send build artifacts over SSH,source files填写项目jar包文件的名称,exec command中可以直接使用linux命令(对shell脚本使用不熟练的小伙伴可以直接使用命令操作),完成后点击应用,保存就可以了,至此,一套可自动编译的项目就完成了【jar包启动和停止的shell脚本命令附下边】


2.6

【简单的jar包启动、重新启动和停止的shell脚本命令】

app='/home/project/****.jar'

args='-Xms2g -Xmx2g -Dspring.profiles.active=prod'

cmd=$1

pid=`ps -ef|grep java|grep $app|awk '{print $2}'`

startup(){

  nohup java -jar $args $app /null &>/dev/null &

}

if [ ! $cmd ]; then

  echo "Please specify args 'start|restart|stop'"

  exit

fi

if [ $cmd == 'start' ]; then

  if [ ! $pid ]; then

    startup

  else

    echo "$app is running! pid=$pid"

  fi

fi

if [ $cmd == 'restart' ]; then

  if [ $pid ]

    then

      echo "$pid will be killed after 3 seconds!"

      sleep 3

      kill -9 $pid

  fi

  startup

fi

if [ $cmd == 'stop' ]; then

  if [ $pid ]; then

    echo "$pid will be killed after 3 seconds!"

    sleep 3

    kill -9 $pid

  fi

  echo "$app is stopped"

fi

你可能感兴趣的:(jenkins搭建)