jenkins通用文档
一.安装部署
1.1 本地安装
1.1.1 准备工作
首先需要安装java环境
yum install -y java-1.8.0-openjdk-devel -y
java -version
1.1.2 安装
使用rpm包安装
从阿里源下载 rpm 包 https://mirrors.aliyun.com/jenkins/redhat/
本文下载的是 2.245-1.1 版本
更改jenkins端口为8090,指定路径
启动jenkins
rpm -ivh jenkins-2.245-1.1.noarch.rpm
iptables -I input -p tcp --dport 8090 -j ACCEPT
vim /etc/sysconfig/jenkins
service jenkins start
service jenkins status
在浏览器访问ip:8090即可访问jenkins
安装插件,等待插件安装完成
设置账户,密码
确认实例配置
安装完成
1.1.3 问题
在初始化过程中,会遇到安装插件过慢或者插件安装失败的问题,这是由于 Jenkins 默认下载的插件源是在国外的地址导致的,替换插件源为国内的即可。
进入 Jenkins 工作目录,替换源地址即可。
[root@localhost ~]# find / -name "default.json"
/var/lib/jenkins/updates/default.json
cd /var/lib/jenkins/updates/
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
sed -i 's/http:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
[root@localhost ~]# service restart jenkins
1.2 容器化安装
1.2.1 创建 pod
使用镜像创建 Jenkins,镜像地址:registry-vpc.cn-shanghai.aliyuncs.com/burgeon-pub/jenkins:1.1.0
创建时,自带以下环境变量:
需要配置数据卷做持久化,不然容器重启后,所有数据都会丢失!配置信息如下:
确认上述信息后,创建 pod
1.2.2 安装常用插件和优化
创建成功后,可以通过 ingress 或者 LoadBalancer 暴露服务,进行访问。打开后配置和本地安装差不多,需要进入容器获取初始化密码。
二.创建项目
2.1 前端项目
2.1.1 安装NodeJS
在 Jenkins 系统设置——全局工具设置中,可以选择安装 NodeJS,可以安装多个版本适用于不同的项目,用别名做区分。
2.1.2 优化镜像源
# 设置 npm 源为淘宝镜像源,加快编译打包速度,切安装 cnpm
npm config set registry https://registry.npm.taobao.org
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 有些项目使用了 yarn,需要额外安装
npm install -g yarn
yarn config set registry https://registry.npm.taobao.org
2.1.3 构建脚本
构建环境选择,在自由风格项目中,可以在构建环境中选择指定的 NodeJS版本,需要勾选“Provide Node & Npm bin/folder to PATH”
# 适项目而定,一般如下
npm install
npm build
2.2 Java项目
2.2.1 安装Maven
在 Jenkins 系统设置——全局工具设置中,可以选择安装 Maven,可以安装多个版本适用于不同的项目,用别名做区分。
2.2.2 优化镜像源
在 setting.xml 文件中的 类下插入以下配置:
<mirror>
<!-- <id>nexus-aliyun</id> -->
<!-- 阿里云的私服镜像, 类似中央仓库 -->
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
<!-- 指定使用该镜像替换中央仓库, central是中央仓库的id -->
<id>mirror</id>
</mirror>
PS:如果 mirrors 被注释了要手动打开注释
修改 setting.xml 后即可添加阿里云私服,优化 Java 项目的构建速度
2.2.3 构建脚本
Maven 项目的构建命令一般为:mvn clean package -Dmaven.test.skip=true
具体的参数根据项目来设置
三.优化
3.1 添加钉钉通知
3.1.1 安装钉钉插件
插件中心搜索钉钉
3.1.2 配置钉钉插件
到系统设置里面找到钉钉插件的配置,根据下图填入对应的配置信息。
如果遇到了问题,可以开启详细日志进行调试(构建输出的日志里可以找到钉钉插件调试信息),通知时机关闭构建启动时,配置项填入钉钉的 webhook 地址,安全策略建议使用关键字触发,关键字要对应钉钉群机器人的配置。
配置完毕后,重启 Jenkins,才会生效,否则无法收到钉钉通知,切记!
3.1.3 启用钉钉插件
在项目中勾选配置好的钉钉通知
构建状态有变化时,即可在构建群中收到通知
PS:要实现上述的 @ 效果,需要在用户管理中配置用户的钉钉手机号
3.2 添加回滚功能
3.2.