Jenkins
Jenkins是持续集成工具,将代码提交,它会自动的帮我们打成jar包运行;
- 什么是持续集成
持续集成正是针对上述一系列问题的一种软件开发实践,它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。
经常性自动化集成,尽早发现错误并解决,得到可用软件。 - 架构图-核心ci服务器(Jenkins)
Jenkins安装(Linux)
1.JDK安装
1.1.卸载JDK
查看
rpm -qa | grep java
卸载
rpm -e --nodeps 软件名
如果linux自带JDK可以先卸载,如果不卸载那就可以不用再安装jdk
1.2.上传JDK到linxu
下载jdk上传到Linux
jdk-8u171-linux-x64.rpm
1.3.安装JDK
rpm -ivh jdk-8u171-linux-x64.rpm
2.Jenkins安装
2.1.上传Jenkins到linux
下载Jenkins上传到Linux
jenkins-2.190.1-1.1.noarch.rpm
或者直接在Linux上下载jenkins
wget https://pkg.jenkins.io/redhat/jenkins-2.83-1.1.noarch.rpm
2.2.安装jenkins
rpm -ivh jenkins-2.190.1-1.1.noarch.rpm
2.3.配置jenkins
vi /etc/sysconfig/jenkins
修改用户和端口
JENKINS_USER="root"
JENKINS_PORT="7777"
2.4.启动服务
systemctl start jenkins
2.5.查看日志
cat /var/log/jenkins/jenkins.log
2.6.关闭防火墙
firewall-cmd --permanent --zone=public --add-port=7777/tcp
systemctl restart firewalld
2.7.初始化jenkins
访问:http://ip:7777
如果一直加载不成功,建议修改镜像下载的站点:
vi /var/lib/jenkins/hudson.model.UpdateCenter.xml
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
然后重启: systemctl restart jenkins
2.8.查看初始密码
cat /var/lib/jenkins/secrets/initialAdminPassword
2.9.安装推荐插件
一般会用到的插件,Git,Maven Interation,svn等等;
部分安装失败也无所谓,可以跳过 ,可以在jenkins进去之后再安装必要的插件
2.10.创建管理员
默认:admim , 可以创建新的,建议使用默认
2.11.Jenkins安装插件
Maven插件
Manage jenkins -> Manage plungs -> 可选插件 -> Maven Interation
3.Linux上Maven安装
3.1.上传Maven安装包到linux
下载maven,将压缩包上传到Linux
apache-maven-3.5.4-bin.tar.gz
3.2.解压Maven安装包
选择一个目录,解压maven,
tar -zxvf apache‐maven‐3.5.4‐bin.tar.gz
- 压缩包后跟
-C /目录
,可以解压到指定目录 - 也可以解压后移动目录
mv apache‐maven‐3.5.4 /目录
3.3.设置仓库地址和镜像
- 配置下载jar包的远程仓库地址和镜像
vi /usr/local/maven/conf/settings.xml
- /usr/local/repository是配置仓库的路径
<localRepository>/usr/local/repository</localRepository>
- 使用阿里maven镜像仓库下载
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4.Docker中Git私服Gogs安装
Jenkins完成自动构建,还需要和我们代码管理的工具建立关系
;所以在这安装Git私服Gogs,他是轻量级的Git,具有Git的相关功能
4.1.linux安装git
yum install git
4.2.下载gogs镜像
docker pull gogs/gogs
4.3.创建容器
-v /var/gogsdata:/data 目录的挂载和映射,将/var/gogsdata目录里面的数据映射到/data中,反之亦然,可以不配置
docker run -di --name=hrm-gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
4.4.初始化gogs
初始化
访问:http://ip:3000
注意:数据库按照需求选择,这里选择SQLite3
注册账号
登录gogs
4.5.创建gogs远程仓库
4.6.window上检出仓库
打开新建的仓库,复制地址链接,在本地拉取项目,提交即可
5.Jenkins配置自动构建–准备
Jenkins完成自动构建需要配置:
1.jdk环境
2.maven环境
3.git(Linux上安装了git)
5.1.Jenkins配置JDK Home
5.1.Jenkins配置Maven Home
6.新建maven项目
6.1.步骤
1)创建仓库
2)本地克隆
3)提交并push
- 创建 item -maven项目
- 源码管理
1.源码管理选择你需要使用的代码管理工具
2.填写代码管理的地址(这里Gogs)
3.输入代码管理用户密码
- 构建触发器
可以设置时间让Jenkins来定时构建你的项目 - Build配置
注意:微服务的 pom.xml中一定要有docker的插件
Root Pom : 代码管理工具中服务的pom.xml的路径,如果有项目路径一定要跟上
globle and Options : clean package docker:build docker:push