Jenkins 自动发布搭建

Posted on Posted in jenkins

Jenkins部署应用

第1章 背景

1.1 Jenkins介绍:

目前主流网站部署方法,通过Hudson/Jenkins工具平台实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。
简单来说方便如下人员:

  • 开发人员:写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在SVN、GIT仓库即可。
  • 运维人员:减轻人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新。
  • 测试人员:可以通过jenkins进行简单的代码及网站测试。

1.2 使用背景:

公司规模逐步壮大,开发测试环境应用服务日益增加,测试版本更新、调试、发布频繁,集成工作重复耗时,针对此情况,在服务器测试环境中架设Jenkins,结合SVN自动集成发版,解决日常冗余工作,提高生产效率。

第2章 Jenkins环境部署

2.1 版本信息

服务器版本:Centos Release:   7.3.1611
Jenkins版本:2.107.3
Tomcat版本:9.0.8
Jdk版本:1.8.0_172 
Maven版本:3.5.3

2.2 Jenkins下载地址

https://pkg.jenkins.io/

2.3 maven下载地址

https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

2.4 程序包存放路径

cd /usr/local/src

2.5 解压

tar zxvf apache-tomcat-9.0.8.tar.gz
tar zxvf jdk-8u172-linux-x64.tar.gz
tar zxvf apache-maven-3.5.3-bin.tar.gz

2.6 程序存放目录

mv jdk1.8.0_172 /usr/local/ 
mv apache-tomcat-9.0.8 /usr/local/
mv apache-maven-3.5.3 /usr/local/

2.7 软链

cd /usr/local/
ln -s apache-tomcat-9.0.8 tomcat
ln -s jdk1.8.0_172 jdk
ln -s apache-maven-3.5.3 maven

2.8 优化Tomcat

cd /usr/local/tomcat/webapps
rm -rf `ls | egrep -v ROOT`

修改默认端口

vim /usr/local/tomcat/conf/server.xml
<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9080" protocol="HTTP/1.1"
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />

2.9 添加环境变量

vim /usr/local/tomcat/bin/catalina.sh
JAVA_HOME=/usr/local/jdk
JRE_HOME=/usr/local/jdk/jre

2.10 部署Jenkins.war包

mv /usr/local/src/jenkins.war /usr/local/tomcat/webapps/

第3章 Jenkins基础配置

3.1 jenkins登录地址

http://10.13.0.253:9080/jenkins

3.2 jenkis秘钥登录连接

3.3 jenkins配置jdk


4.1 maven简介

插件名称:maven-plugin
作用:管理项目,和集成war包回滚
下载地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/maven-plugin/latest/

4.2 手动安装

4.3 上传插件

4.4 查看插件安装

第5章 jenkins安装mail插件

5.1 下载地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/email-ext/

5.2 手动安装

5.3 查看安装

5.4 设置邮箱

5.4.1 设置管理员地址

5.4.2 设置邮箱信息

5.4.3 配置默认触发器

解释:当所选事件发生,并发送邮件

5.4.4 配置邮件通知信息

5.4.5 配置端口及账号

邮件通知-高级

5.4.6 代理邮箱信息

mail_host="smtp.xxx.com:25"  #设置服务器
mail_user="monitor@xxx.com"     #发件用户名(换成自己的)
mail_pass="xxx"   #口令(换成自己的)

第6章 创建测试任务

6.1 构建项目test

选择如下:

  • 输入项目名称:test
  • 选择构建项目类型:自由风格

6.2 General配置信息

选择如下:

  • General模块
  • 丢弃旧的构建信息
  • 参数化构建过程:名称(请输入本次的版本号)

6.3 源码管理配置

选择如下:

  • 源码管理
  • Subversion输入svn账号

  • 创建svn密码信息

  • 选择用户账号

6.4 构建环境配置信息

选择如下

  • 构建环境
  • 输入command 命令

6.5 构建后的配置

选择如下:

  • Archives the artifacts:填写war包存放路径
  • Extended Email:填写收信地址

6.6 添加触发器接收用户

6.7 配置完成保存

6.8 构建测试

6.8.1 选择创建的test项目

  • 单击项目名

6.9 单击build with parameters

6.10 查看构建输出

  • build history:选择构建的历史
  • 单击控制台输出

第7章 安装用户管理插件

7.1 自动安装

Role-based Authorization Strategy:用户管理模块

7.2 查看插件

7.3 开启



7.4 添加管理用户


7.5 配置用户权限

7.6 配置项目管理用户


工作用户权限配置

7.7 配置用户端


配置用户组

注释:

  • Global roles全局管理

admin 和test为可加权的任务项

anonymous默认用户;这里勾选test用户只有权限操作test任务

  • item roles用户组

添加test用户组,组内人员均可的查看操做

第8章 创建maven项目

8.1 配置maven

8.2 添加maven

8.3 添加仓库地址及分支

8.4 基于pom文件构建

8.5 构建maven项目

8.6 添加自动发布


配置邮件上文已经部署可以参考安装mail插件

第9章 问题汇总

9.1 Tomcat启动慢解决方案

解决Tomcat随机数卡顿

vim jdk/jre/lib/security/java.security
securerandom.source=file:/dev/urandom
» 转载请注明来源:若我若鱼 » Jenkins 自动发布搭建
相关文章

Leave a Reply

Your email address will not be published. Required fields are marked *

8 − 8 =