1. Jenkins介绍

1.jenkins是一个开源的持续集成工具,由java语言开发
2.jenkins是一个调度平台,拥有众多的插件,绝大部分功能都是由插件来完成的

2. Jenkins的安装部署

Jenkins官网

由于官网地址比较缓慢,我们直接前往清华源内下载对应源码包

清华源地址 找到对应版本,点击下载,获取链接地址。

mkdir /jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.240-1.1.noarch.rpm
若机器未通网。也可直接下载到windows机器,随后将包拉到系统里。

由于Jenkins是基于JAVA开发的,所以想要让Jenkins跑起来,就得有JAVA的环境解释器
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && makecache
yum -y install java-1.8.0-openjdk   #直接安装openJDK即可。
安装完成后。启动服务。注意。jenkins默认是跑在8080端口的,启动时,不要占用端口,尽量不和gitlab安装到一起。


systemctl start jenkins
systemctl enable jenkins

Jenkins的基础信息

[root@jenkins ~]# rpm -ql jenkins 
/etc/init.d/jenkins                         #启动文件
/etc/logrotate.d/jenkins                #日志切割脚本
/etc/sysconfig/jenkins                  #配置文件
/usr/lib/jenkins                                #安装目录
/usr/lib/jenkins/jenkins.war        #安装包
/usr/sbin/rcjenkins                         
/var/cache/jenkins                          
/var/lib/jenkins                                #数据目录
/var/log/jenkins                                #日志目录

使用清华源作为插件地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
当修改完页面内的地址,其实真正一些插件的地址,是在配置文件内写死的。故还需做以下更新
sed -i 's#https://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

3. 网页登录Jenkins

直接在我们的浏览器上,输入IP:PORT 网页会提示去,前往以下路径,复制密码,来进行登录

cat /var/lib/jenkins/secrets/initialAdminPassword
4208d6a6b93245e48da9c1fbc6ff16e8

密码输入完后,会跳入下个界面。安装推荐的插件 选择开始使用Jenkins

4. 进行一些初始的配置

更改Jenkins管理员的密码,便于下次登录

安装汉化插件

会仅仅出现一个包,安装即可。随后重启服务,再次登录,就是汉化版的

5. 构建第一个任务

6. 结合gitlab实现自动部署

为了配合实验效果,安装一个nginx
yum -y install nginx 
echo "Access test" > /usr/share/nginx/html/index.html 
systemctl start nginx
systemctl enable nginx
网页访问测试。

在gitlab端准备一个简单的文件

gitlab创建一个新的项目 命令行同步

mkdir /test
cd /test/
git clone git@10.0.0.2:jenkins/test.git  #将远程仓库同步
echo "first test" > index.html
git add .
git commit -m "first test"
git push -u origin master

在插件管理内,安装一个gitlab

配置gitlba远程仓库 添加一个gitlab的loken。供Jenkins使用。权限直接全部打勾。第二个页面,复制token

创建一个Jenkins任务

紧接着下面有个高级,点进去 上面的操作是在Jenkins上面触发,接下来配置gitlab的触发 回到Jenkins,继续完成任务的配置 加入一个钉钉告警 配置参考 钉钉报警 暂时配置到这里。应用。保存 然后到gitlba端,发送一个测试。若收到钉钉消息,则前面配置,均无问题 Jenkins会把远程仓库的代码,拉到这个目录

/var/lib/jenkins/workspace/test-gitlab
故我们若想要实现,推送代码,自动更新,则需要再加如下配置
再次增加一个构建步骤。写入如下命令。 具体复制的内容,根据业务情况,进行实际的调整
\cp /var/lib/jenkins/workspace/test-gitlab/index.html /usr/share/nginx/html/

更新git仓库的配置,进行最终的检测

echo "The second test" > index.html 
git add .
git commit -m "The second test"
git push -u origin master 

钉钉收到报警后,网页查看。即可