0%

Centos7-Jenkins-Deploy

记录最近在Centos7上面部署jenkens。安装的方法有很多,下面采用最简单的方式安装。

参考文献

jenkins 是一个协调者的身份,管理和协调了代码库,代码仓库,代码运行环境等。

jenkins 简介

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:

  • 持续、自动地构建/测试软件项目。
  • 监控一些定时执行的任务。
  • 高度可扩展性、全球大量团队使用,并共享代码。
  • 基于插件、可以做出非常多有趣的事情。

安裝部署

单实例部署

检查当前系统环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost jenkins]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

添加源以及公钥

更新安装jenkens源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# yum 源导入
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

#导入密钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

#安装
sudo yum install jenkins

# 手动下载安装包安装
https://pkg.jenkins.io/redhat-stable/ # 这里面找


#检查安装
whereis jenkins
> jenkins: /usr/lib/jenkins
# 提示以上内容说明安装成功

修改jenkens配置信息

1
2
3
4
5
6
7
8
9
10
11
# 编辑jenkins配置文件
vim /etc/sysconfig/jenkins
# 这里主要编辑两个参数 JENKINS_USER JENKINS_JAVA_OPTIONS
# JENKINS_USER jenkens权限用户
# JENKINS_JAVA_OPTIONS jenkens启动参数,这里主要设置启动内存。
JENKINS_USER="root"
JENKINS_JAVA_OPTIONS="-server -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true"
# 修改目录权限 如果你不是使用root账号,我偷下懒。
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

启动junkets检查

1
2
3
4
5
6
7
8
#重载所有修改过的配置文件
sudo systemctl daemon-reload

#启动Jenkins服务
sudo systemctl start jenkins

#由于Jenkins不是Native Service,所以需要用chkconfig命令而不是systemctl命令
sudo /sbin/chkconfig jenkins on

第一次启动配置

1
2
# 查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword

配置jenkens jdk maven环境

1
2
3
4
5
6
7
8
9
10
11
12
13
# 在系统环境中增加
# JAVA_HOME
# MAVEN_HOME
# 如果jdk是通过yum 安装需要通过ll找到jvm的安装地址
# ll /usr/bin/javac -> /etc/alternatives/javac
# ll /etc/alternatives/javac -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/bin/javac
#举例子
JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
MAVEN_HOME
/opt/libhome/apache-maven-3.8.1
PATH
$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

配置企业微信通知

安装插件 Qy Wechat Notification Plugin

1
2
如果无法发送通知提示javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate
需要修改$JRE/lib/security/java.security
  • 去掉两个配置信息 TLSv1 TLSv1.1
1
2
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, RC4, DES, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES_EDE_CBC, anon, NULL

友情提示

不要选择社区推荐插件安装

  • 因为 Jenkins 插件服务器在国外,所以速度不太理想。我们需要更换为清华大学的 Jenkins 插件源后,再安装插件,所以先不要点安装插件。

  • 更换方法很简单。进入服务器,将 /var/lib/jenkins/updates/default.json 内的插件源地址替换成清华大学的源地址,将 google 替换为 baidu 即可。

    1
    sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json

修改运行端口

1
2
3
vim /etc/sysconfig/jenkins

JENKINS_PORT="8080" //改成 JENKINS_PORT="8088"

基础命令

  • 启动、重启、关闭
1
2
3
[root@localhost jenkins]#  service jenkins start
[root@localhost jenkins]# service jenkins restart
[root@localhost jenkins]# service jenkins shutdown
  • 错误提示
1
Starting jenkins (via systemctl):  Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
  • 若出现上述问题,执行。
1
[root@localhost jenkins]# systemctl daemon-reload
  • 启动jenkins
1
[root@localhost jenkins]# sudo service jenkins start
  • 进入jenkins 网站;一般是8080端口。界面会让你输入密码进入。
1
[root@localhost jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword
  • 安装插件,如果出现下列错误。
1
An error occurred during installation: No such plugin: cloudbees-folder
  • 可以直接跳过。直接创建管理帐号进入。这个时候插件列表是空的。在插件高中替换URL。
1
http://mirror.xmission.com/jenkins/updates/update-center.json 
  • end.

修改Jenkins 工作空間目錄

  • 系统设置

  • 这里的工作空间目录有一个环境配置变量。${JENKINS_HOME}
  • 在系统环境变量中配置JENKINS_HOME 指向新的工作空间。

Jenkins shell权限问题。

  • 在执行shell 脚本的时候需要修改权限,如果不修改会导致部分权限问题。
1
[root@localhost jenkins]# vim /etc/sysconfig/jenkins
  • 修改配置文件的 JENKINS_USER = “root”

插件

Maven Integration plugin

用于Maven项目构建。

Monitoring

监控Jenkins所消耗的系统资源,如内存使用等

Publish Over SSH

远程Shell

Email Extersion Plugin

邮件通知

邮箱配置

jenkins 自带邮箱功能,可以通过邮箱发送任务构建时的信息。

  • Jenkins URL 是当前jenkins访问地址 可以是内网也可以是外网。

邮件通知

  • SMTP服务器
    • 这个邮件帐号的运营商配置
    • 配置完后可以测试。
    • 如果收到邮件说明配置成功。