Jenkins部署与使用
CI/CD介绍
持续集成(Continuous Integration,CI)和持续发布(Continuous Delivery,CD,又称持续交付)是经常放在一起提及的两个概念,专有词组CI/CD Pipeline 用来描述他们同时存在的持续集成与发布自动化管线。
持续集成是一种编程实践,它让开发团队通过实现对代码一系列小的改动,高频率地提交到版本管理源。这种稳定一致并可以反复执行的流程,让开发人员可以更加频繁地提交改动,从而提升合作效率和代码质量。通过持续集成,团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归功于持续集成。
持续发布是在持续集成之后的一系列动作。持续发布自动化交付生成的产品到各个目标环境,如测试环境、审查环境和生产环境等,以用于不同的目的。持续发布可以保证各种修改以一种稳定、符合预期的方式交付到这些环境上。在发布的过程中,除了把持续集成的最终产物复制到目标环境外,持续交付通常还会跟外部的Web API、数据库和其他服务通信,让新的改动最终在目标环境生效。
持续集成需要一个持续集成服务器, Jenkins 就是一个配置简单和使用方便的持续集成服务器。依赖于Java开发的,由各种组件组成的一个自动化部署工具。
Jenkins实战案例
准备
192.168.70.35 jenkins服务器 (Jenkins、JDK、MAVEN、GIT)
192.168.70.36 gitlab服务器 (Gitlab) 这条gitlab机器至少需要4G内存!
192.168.70.37 测试服务器 (JDK)
部署jenkins
1.下载jdk11 和 git
yum list | grep jdk //查看是否有java-11-openjdk.x86_64 有的话安装 没优则需要更新yum源
yum install java-11-openjdk.x86_64 -y
yum install git -y
2.下载maven maven 官网下载地址3.8.8
//下载好传到虚拟机上
tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local
//修改maven下载源
vim /usr/local/maven/conf/settings.xml //找到mirrors 把其中的mirro注释 添加如下阿里源
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
3.下载jenkins.war包 这里我安装的是2.361.1版本 最好安装2.36以上版本 旧版本有时jenkins插件安装不了或者启动不了!
官网下载地址:https://mirrors.jenkins.io/war-stable
//下载好jenkins后上传到机器上 使用下面命令就可以打开jenkins了 需要构建一会
java -jar jenkins.war
4.修改源
//将 https://updates.jenkins.io/download 改为 http://mirrors.tuna.tsinghua.edu.cn/jenkins
//将 https://www.google.com 改为 https://www.baidu.com
[root@localhost ~]# find / -name *.UpdateCenter.xml
/root/.jenkins/hudson.model.UpdateCenter.xml
[root@localhost ~]# vim /root/.jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> --将此链接替换为清华源,这是更换后效果
</site>
</sites>
//更换完保存退出
5.修改插件源
//构建完后可以页面登录jenkins(ip+8080) 根据页面提示 查看密码
cat /root/.jenkins/secrets/initialAdminPassword
f53dad9bac4243ff9fdb6ef19278dbcb
//接着点击选择插件来安装
//此时需要更换插件源
//将 https://updates.jenkins.io/download 改为 http://mirrors.tuna.tsinghua.edu.cn/jenkins
//将 https://www.google.com 改为 https://www.baidu.com
[root@localhost updates]# cd /root/.jenkins/updates/
[root@localhost updates]# ll
总用量 2664
-rw-r--r--. 1 root root 2719057 10月 12 21:47 default.json
-rw-r--r--. 1 root root 6178 10月 12 21:30 hudson.tasks.Maven.MavenInstaller
[root@localhost updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /root/.jenkins/updates/default.json
[root@localhost updates]# sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' /root/.jenkins/updates/default.json
//然后点击左上角无 先不安装插件
6.创建用户
创建一个管理员用户 > 保存并完成 > 开始使用 > 用刚所创建的用户进行登录
7.安装插件
点击Manage Jenkins >Plugin Manager > Available 搜索maven 勾选 > install without restart 同理安装git
8.new item > 填文件名 > 构建一个maven项目 > 确定
部署gitlab
1.下载
gitlab官网下载 这里下载的版本是最新的16.2.4
2.安装所需要的依赖
yum install curl policycoreutils openssh-server openssh-clients -y
systemctl enable sshd //开机自启动ssh程序
systemctl start sshd
yum install postfix //安装邮件程序
systemctl enable postfix
systemctl start postfix
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld
3.安装gitlab
//配置完相关依赖后我们安装下载好的安装包
//把安装包上传到虚拟机上
cp gitlab-ce-16.2.4-ce.0.el7.x86_64.rpm /gitlab/
cd /gitlab
yum install gitlab-ce-16.2.4-ce.0.el7.x86_64.rpm —y
gitlab-ctl reconfigure //需要等待几分钟
4.登录
在上一步reconfigure之后会生成一个随机密码
cat /etc/gitlab/initial_root_password //查看随机密码
在浏览器输入服务器ip 来到gitlab登录页面,账号root,免密就是上述随机密码
5.修改密码:
切换中文设置
6.新建项目
复制gitlab http > 去jenkins找到刚创建的maven项目 > Configuration > Source Code Management > 选择git > 粘贴url(http://192.168.70.36/root/demo.git) >
自动发布、测试运行
1.安装插件
Publish Over SSH
Git
2.设置系统设置
3.设置全局配置
4.创建项目
clean packge -Dmaven.test.skip=true 解释:
- 清理上一次的构建结果
- 编译项目源代码并打包成发布包(如jar文件),但不运行测试代码
-Dmaven.test.skip=true
参数跳过了测试阶