Centos7.*-Jenkins单实例部署

参考文献

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"

添加源以及公钥

1
2
[root@localhost jenkins]# wget -O /etc/yum.repos.d/jenkins.rep  https://pkg.jenkins.io/debian/jenkins.io.key
[root@localhost jenkins]# sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
  • 检查源是否存在。
1
[root@localhost jenkins]# yum search jenkins
  • 如果不存在就更新下源。
1
[root@localhost jenkins]# yum -y update

调整运行环境

1
[root@localhost jenkins]# java -version
  • centos 默认是openjdk 建议更换sun jdk
1
[root@localhost jenkins]# yum remove yum remove java-**-openjdk
  • 安装jdk记得配置环境。

安装

  • 源安装
1
[root@localhost jenkins]# sudo yum install jenkins
  • 注意如果没有安装公钥会提示。建议安装公钥了在安装。

配置jenkins目录

安装完成后,会有生成jenkins目录

  • 找下安装位置,jenkins安装目录,WAR包会放在这里。
1
2
[root@localhost jenkins]# whereis jenkins
jenkins: /usr/lib/jenkins
  • 配置文件地址
1
[root@localhost jenkins]# vim /etc/sysconfig/jenkins:
  • /var/lib/jenkins/:默认的JENKINS_HOME。这个可以从/etc/sysconfig/jenkins:看到。
  • 配置下jdk默认位置;vim /etc/init.d/jenkins

  • 每个人的配置信息不一样,自己查看下jdk的安装目录。

修改运行端口

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”

其他

  • 项目构建执行脚本备份例子
1
2
3
4
cd ${WORKSPACE}|
chmod +x **.sh |
dos2unix **.sh |
sudo ${WORKSPACE}/restart.sh

插件

Maven Integration plugin

用于Maven项目构建。

Monitoring

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

Publish Over SSH

远程Shell

Email Extersion Plugin

邮件通知

邮箱配置

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

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

邮件通知

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