文章目录
一、Jenkins介绍
是一个开源的实现持续集成的软件工具。官方网站:http://jenkins-ci.org/。
Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.
特点
易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
易配置:提供友好的GUI配置界面;
变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是
JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
支持第三方插件:使得 Jenkins 变得越来越强大
二、安装Jenkins
1.安装JDK环境
Jenkins需要依赖JDK环境
2.下载Jenkins
yum -y install wget 这样才能使用wget命令
wget https://pkg.jenkins.io/redhat/jenkins-2.83-1.1.noarch.rpm
3.安装Jenkins
rpm -ivh jenkins-2.83-1.1.noarch.rpm
4.修改配置文件
vi /etc/sysconfig/jenkins
设置为如下
JENKINS_USER="root"
JENKINS_PORT="8888"
5.启动服务,访问
systemctl start jenkins
启动失败:
systemctl status jenkins.service
vim /etc/init.d/jenkins
重启
systemctl daemon-reload
systemctl start jenkins
6.浏览器访问
http://localhost:8888/
我是部署在阿里云服务器的,所以使用公网ip来访问,如果你是部署在本机的就用localhost
,如果是虚拟机,就用虚拟机ip地址
查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
7.安装插件
插件下载失败的话,点击自动升级, 然后地址栏localhost:8888/restart 重启
点击 --》系统管理 --》管理插件 --》可选插件
修改Jenkins插件下载地址
Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址: Jenkins->Manage Jenkins->Manage Plugins,点击Available
cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins-ci.org\/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
最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Sumbit后,在浏览器输入: http://192.168.66.101:8888/restart ,重启Jenkins。
下载中文汉化插件
安装git插件
下载Role-based Authorization Strategy插件
我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限
授权策略切换为"Role-Based Strategy",保存
创建角色:
点击"Manage Roles"
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色 Project roles(项目角色): 针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限
我们添加以下三个角色:
- baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
- role1:该角色为项目角色。使用正则表达式绑定"wx.*",意思是只能操作wx开头的项目。
- role2:该角色也为项目角色。绑定"monitor.*",意思是只能操作monitor开头的项目。
添加用户
在系统管理页面进入 Manage Users
给用户分配角色
系统管理页面进入Manage and Assign Roles,点击Assign Roles
绑定规则如下:
eric用户分别绑定baseRole和role1角色
jack用户分别绑定baseRole和role2角色
创建项目测试权限
以管理员账户创建两个项目,分别为wx01和monitor01
结果为:
eric用户登录,只能看到wx01项目
jack用户登录,只能看到monitor01项目
安装Credentials Binding插件
凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。
安装Credentials Binding插件 要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件
点击: Manage Credentials --》全局 --》添加凭据
安装插件后,左边多了"凭证"菜单,在这里管理所有凭证
可以添加的凭证有5种:
- Username with password:用户名和密码
- SSH Username with private key: 使用SSH用户和密钥
- Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径 设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
- Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
- Certificate:通过上传证书文件的方式
常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH 密钥)
8.全局工具配置
配置JDK目录
配置Maven
全局工具配置关联JDK和Maven
Manage Jenkins->Configure System->Global Properties ,添加三个全局变量
三、安装Gitlab
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的
web服务。
Gitlab安装
- 安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
- 启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
- 设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix
- 开放ssh以及http服务,然后重新加载防火墙列表
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
如果关闭防火墙就不需要做以上配置
5. 下载gitlab包,并且安装
在线下载安装包:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
安装:
rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
- 修改gitlab配置
vi /etc/gitlab/gitlab.rb
修改gitlab访问地址和端口,默认为80,我们改为82
external_url 'http://192.168.66.100:82'nginx['listen_port'] = 82
- 重载配置及启动
gitlab gitlab-ctl reconfigure
gitlab-ctl restart
- 把端口添加到防火墙
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload
启动成功后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可
四、安装Gogo
Gogs 是一款极易搭建的自助 Git 服务。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发
与Git啦吧是一样的,能够使用gogs搭建私有的git服务器,同样的还有Gitlab Gitlub Gitea …
首先安装Docker
yum install -y docker
# 开启DOCKER服务
systemctl start docker.service
# 查看安装结果
docker version
# 设置开机启动
systemctl enable docker.service
# 配置DOCKER镜像下载加速
vim /etc/docker/daemon.json
# 在其中加入加速镜像源地址即可:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# 重启 docker 服务即可
systemctl daemon-reload
systemctl restart docker.service
拉取gogs镜像
docker pull gogs/gogs
创建容器
docker run -d --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
会进入首次运行安装程序页面,我们
可以选择一种数据库作为gogs数据的存储,最简单的是选择SQLite3。如果对于规模较大的公司,可以选择MySQL.