一直想把以前一些关于Jenkins持续集成相关的经验写下来,最近正好工作中也要用到Jenkins进行持续集成和自动化部署,还是决定抽出时间记录下。
这个系列有四篇文章,自动部署分成了2篇:
- jenkins+git+maven持续集成(一):主要介绍Centos7下jenkins的安装
- jenkins+git+maven持续集成(二):主要介绍下jenkins怎么集成git+maven进行自动构建
- jenkins+git+maven持续集成(三):主要介绍下jenkins怎么集成进行自动部署(发布到maven私有库)
- jenkins+git+maven持续集成(四):主要介绍下jenkins怎么集成进行自动部署(通过SSH部署到服务器)
Jenkins简介
Jenkins官网地址:https://jenkins.io/zh/:
已经国际化了,打开就是中文文档,查找资料很方便。官网首页的一句介绍概括了Jenkins可以干什么:Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。
其中CI是Continuous Integration,持续集成;CD是Continuous Delivery,持续交付。
Jenkins的特点在首页上也能清晰地看到,这里就不每个点去解释了,用到的地方会详细说明下:
Jenkins安装
在首页中能看到Jenkins的一个特点:简易安装,Jenkins是一个独立的基于Java的程序,可以立即运行,包含Windows,Mac OS X和其他类Unix操作系统;这说明2点,一是需要Java环境,二是支持各种系统。
Java环境这里就不说了,用maven肯定是Java环境下的。
我们点击进入首页的下载https://jenkins.io/zh/download/,选择你需要在什么系统下安装:
这里我们选择Jenkins2.176.2版本的Centos的下载包,先点击下方用户手册提供的安装Jenkins部分,可以看到对于安装的一些基本要求:
回到刚才的下载页点击的Centos下载链接,可以看到提供了独立安装的rpm包,以及通过yum安装的方式:
这里我们选择用yum安装的方式,现在在Centos7中添加jenkins的源:
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
确保你的Centos7中安装了Java8,然后再运行:
yum install jenkins -y
安装完成后,运行:
systemctl start jenkins
如果Centos7上安装的是oracle的java,这时会启动不了:
检查下错误信息:
发现没有/usr/bin/java这个文件或文件夹,这里是因为Jenkins默认指定了几个Java安装的路径,我们进入jenkins启动文件:
vim /etc/rc.d/init.d/jenkins
我们在这个文件能看到不少有用的信息:
其中有Jenkins war包的地址,以及Jenkins去哪里找java;如果你的java路径没有在下方红色框中的区域,你需要将实际的java地址加上。修改完成后再次启动:
systemctl daemon-reload
systemctl start jenkins
这里要先运行systemctl daemon-reload,不然还是会提示启动不了:
在浏览其中输入服务器的地址,Jenkins默认的端口是8080:
等待一段时间后可以看到:
在提示的路径下运行:
cat /var/lib/jenkins/secrets/initialAdminPassword
将密码复制后点击继续,等一小段时间会看到安装界面:
这里选择安装推荐的插件,后面再根据需要添加。可以看到默认推荐的插件(默认有Gradle,居然没有maven。。。难道maven已经不是主流了吗):
等待安装完成,设置新的管理员账号(也可以继续使用admin,修改密码)。
保存并完成后进入一个新的界面:
如果不需要修改端口,直接点击保存并完成:
终于完成了,点击开始使用Jenkins:
可以看到Jenkins界面了。然后养成好习惯,在Centos7中设置Jenkins开机启动:
chkconfig jenkins on
好,Jenkins在Centos7下的安装就介绍到这了;这周会完成后面2篇关于git+maven的自动构建和在Centos7下的自动部署。