zl程序教程

您现在的位置是:首页 >  系统

当前栏目

centos7下jenkins的几种安装方式(yum,rpm,war包,docker镜像)

2023-09-14 09:13:14 时间

                                                   centos7下jenkins的几种安装方式(yum,rpm,war包,docker镜像)

 

目录

                                                   jenkins的几种安装方式(yum,rpm,war包)


 jenkins是干什么用的应该不需要在这废话了,作为devops的一个重要组成部分,很多企业都在使用jenkins。那么,要使用jenkins,首先需要安装它对吧。安装的主要方式是yum源方式,rpm包方式,和war包发布的方式,和其它的软件相比,没有二进制包安装和源码编译安装,这里需要特别注意。

1.jenkins的版本大体介绍

和通常的软件一样,jenkins是简单的分为两种版本,一种是长期支持的稳定版本,一种是即时释放的最新的非稳定版本。如下图所示:

通常,生产环境应该使用LTS版本,也就是长期支持的稳定版本。 jenkins是使用Java语言编写的一个开源的项目,因此,jenkins的版本和Java的版本联系紧密,换成人话,也就是必须有安装jdk环境,并且jdk的版本要符合jenkins的要求,目前,jdk的版本最低要求是jdk1.8及以上。

1,war包方式安装

war包的下载地址:https://get.jenkins.io/war-stable/     ,下载页面如下所示:

从上图我们可以看到,jenkins的版本更新迭代非常的密集,这说明一件事情:jenkins是非常受欢迎的一个自动发布类软件(不受欢迎,谁TM没事干升级迭代它呀,对吧)。

war包的优劣不用我多说,优点:快速发布,快速使用,缺点:更改到符合自己或者公司的使用习惯比较麻烦。

war包有两种使用方式,第一,直接使用Java -jar的形式发布启动war包,第二,war包交给tomcat或者weblogic这样的中间件发布(最常用的方式,当然,tomcat和weblogic发布war包本文不做介绍,只对 java -jar方式做一简单的介绍)

首先,确定Java的jdk环境是正常的,可以使用的,确定方式为 :java -version 有正确的输出java的版本号

其次,java -jar 发布war包,命令为: java -jar jenkins.war (此方式为前台启动,因是做演示,并没有后台启动),控制台输出入下图所示:

有看到fully up and running 表示jenkins已经正常启动。此时,登陆浏览器输入URL:ip:8080 即可看到jenkins的登陆页面,如下图所示(此页面提示密码在哪,本例中提示密码在/root/.jenkins/secrets/initialAdminPassword,cat命令查看后复制内容到框内即可登陆):

 

密码输入后,即可进入下一个界面,界面如下图所示:

跳过插件安装,即可进入用户配置页面,稍加配置后即可使用jenkins。jenkins的war包使用基本都是如此,使用中间件tomcat或者weblogic应该是可以直接安装插件,不需跳过。

2, rpm包安装 方式使用jenkins

rpm包的下载不建议使用官方网站的镜像站,建议使用清华园的镜像站,地址为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

(1)jdk环境的安装(此处略过,保证jdk可用即可,太基础的问题就不说了)

(2)rpm -ivh 前面所下的rpm包包名

(3)rpm包所做的工作有:

rpm包安装时所执行的脚本,大体内容为增加了一个用户jenkins,将jenkins的启动脚本从rpm内释放到 /etc/init.d/ 和/etc/sysconfig 目录下,

[root@centos7 ~]# rpm -qa | grep jenkins
jenkins-2.235.4-1.1.noarch
[root@centos7 ~]# rpm -qa --scripts | grep jenkins
/usr/sbin/groupadd -r jenkins &>/dev/null || :
/usr/sbin/useradd -g jenkins -s /bin/false -r -c "Jenkins Automation Server" \
	-d "/var/lib/jenkins" jenkins &>/dev/null || :
  if [ -f "/etc/sysconfig/jenkins" ]; then
      logger -t jenkins.installer "Found previous config file /etc/sysconfig/jenkins"
      . "/etc/sysconfig/jenkins"
      stat --format=%U "/var/cache/jenkins" > "/tmp/jenkins.installer.cacheowner"
      stat --format=%U "/var/log/jenkins"  >  "/tmp/jenkins.installer.logowner"
      stat --format=%U ${JENKINS_HOME:-/var/lib/jenkins}  > "/tmp/jenkins.installer.workdirowner"
      logger -t jenkins.installer "No previous config file /etc/sysconfig/jenkins found"
/sbin/chkconfig --add jenkins
  logger -t jenkins.installer "Checking ${2} ownership"
    logger -t jenkins.installer "Found previous owner of ${2}: ${owner} "
  if  [ "${owner:-jenkins}" != "${JENKINS_USER:-jenkins}" ] ; then
    logger -t jenkins.installer "Previous owner of ${2} is different than configured JENKINS_USER... Doing a recursive chown of ${2} "
    chown -R ${JENKINS_USER:-jenkins} "$2"
  elif [ "${JENKINS_USER:-jenkins}" != "jenkins" ] ; then
    logger -t jenkins.installer "Configured JENKINS_USER is different than default... Doing a non recursive chown of ${2} "
    chown ${JENKINS_USER:-jenkins} "$2"
    logger -t jenkins.installer "No chown needed for ${2} "
# != jenkins, namely all cases but the default one (configured for jenkins owned by jenkins)
. /etc/sysconfig/jenkins
      chownIfNecessary "/tmp/jenkins.installer.cacheowner"  "/var/cache/jenkins"
      chownIfNecessary "/tmp/jenkins.installer.logowner"  "/var/log/jenkins"
      chownIfNecessary "/tmp/jenkins.installer.workdirowner"  ${JENKINS_HOME:-/var/lib/jenkins}
    /sbin/service jenkins stop > /dev/null 2>&1
    /sbin/chkconfig --del jenkins
    /sbin/service jenkins condrestart > /dev/null 2>&1

根据以上脚本内容,我们可以得出,首先,应该将jenkins加入系统启动,也就是执行命令: chkconfig jenkins on

jenkins的启动|停止命令为: service jenkins start|stop  或者  systemctl start|stop jenkins

执行启动命令后,查看  /var/log/jenkins/jenkins.log 日志,确定jenkins启动后,如war包安装时一样,打开浏览器,输入URL: ip:8080 即可,在页面处有提示密码存储在哪,复制密码后的步骤同war包安装。

3,docker 方式安装和启动jenkins

docker方式其实没有安装,只有启动,镜像是放在GitHub官网的,因此,docker的运行环境安装好后,  执行 docker pull jenkins 即可,完全的傻瓜化,自动化。

docker镜像内自带jdk环境,因此无需配置任何jdk,只是启动时需要挂载volume,以个性化定制jenkins,docker 版本的jenkins启动命令为:

[root@centos6 ~]# docker run -itd -u root -p 8080:8080 -v /var/jenkins_home:/var/jenkins_home --name jk jenkins/jenkins
abe9f7460b83802ff30e0fb29c37103ad58585190d003194020129e57e420230

 

这个启动命令需要解释一下: -u root 是以root的权限获得后面的volume权限,当然,docker容器内也是有jenkins这个用户的。容器所开端口有两个,一个是8080,一个是50000,50000是默认的,不指定也可以开启,

-v 的宿主机的挂载点建议不更改,保持和容器的 /var/jenkins_home 的对应。

docker容器也需要安装插件,下载的插件都放置在挂载点 /var/jenkins_home/plugs 目录下了。和rpm安装方式一样的初始化。

4,yum 安装方式

这个不做过多介绍,当然不建议使用jenkins官网的镜像,在国内各大镜像站都可以找到yum源。