学习Jenkins持续集成(一)Jenkins安装、Gitlab安装、Gogs安装

一、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(奴隶角色):节点相关的权限

我们添加以下三个角色:

  1. baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑 定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
  2. role1:该角色为项目角色。使用正则表达式绑定"wx.*",意思是只能操作wx开头的项目。
  3. 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种:

  1. Username with password:用户名和密码
  2. SSH Username with private key: 使用SSH用户和密钥
  3. Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径 设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
  4. Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
  5. 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安装

  1. 安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
  1. 启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
  1. 设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemctl start postfix
  2. 开放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
  1. 修改gitlab配置
vi /etc/gitlab/gitlab.rb

修改gitlab访问地址和端口,默认为80,我们改为82

external_url 'http://192.168.66.100:82'nginx['listen_port'] = 82
  1. 重载配置及启动
gitlab gitlab-ctl reconfigure
gitlab-ctl restart
  1. 把端口添加到防火墙
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.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建仓库

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/DreamsArchitects/article/details/109305508