1.Jenkins基础

导读:本篇文章讲解 1.Jenkins基础,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一:基本概念

1.CI/CD持续集成/持续部署

什么是持续集成(CI-Continuous integration)
持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。

什么是持续部署(CD-continuous deployment)
是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

什么是持续交付(Continuous Delivery)
持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。
在这里插入图片描述
2.jenkins介绍
官网:https://www.jenkins.io/zh/doc/

jenkins是java语言编写的一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

2.1 gitLab 和github区别:
.GitHub 和 GitLab 都是基于 web 的 Git 仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,
为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
GitHub 作为开源代码库,拥有超过 900 万的开发者用户,目前仍然是最火的开源项目托管平台,GitHub 同时
提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。
GitLab 解决了这个问题,你可以在上面创建私人的免费仓库。
GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比较 GitHub , 它有不少特色:
(1) 允许免费设置仓库权限;
(2) 允许用户选择分享一个 project 的部分代码;
(3) 允许用户设置 project 的获取权限,进一步提升安全性;
(4) 可以设置获取到团队整体的改进进度;
(5) 通过 innersourcing 让不在权限范围内的人访问不到该资源;
所以,gitLab可以部署到自己的服务器上,数据库等一切信息掌握在自己手里,适合团队内部协作开发。

2.2Gitlab安装

  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
  1. 开放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 -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm 
  1. 修改gitlab配置
vi /etc/gitlab/gitlab.rb

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

external_url 'http://服务器ip:83'
nginx['listen_port'] = 83
  1. 重载配置及启动gitlab
 #这两个命令执行时间都有点长,2~5分钟
gitlab-ctl reconfigure
gitlab-ctl restart #重启gitlab
sudo gitlab-ctl stop #停止gitlab
  1. 把端口添加到防火墙
firewall-cmd --zone=public --add-port=83/tcp --permanent
firewall-cmd --reload

9.阿里云开放83端口安全组

启动成功和配置安全组之后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可

2.3Gitlab添加组,创建用户,创建项目
1)创建组
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,
不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理
在这里插入图片描述

  1. 在组里可以直接创建项目
    在这里插入图片描述
    3)创建用户
    创建用户的时候,可以选择Regular或Admin类型
    在这里插入图片描述
    在这里插入图片描述
    注:为创建的用户创建密码
    在这里插入图片描述
    4)将用户添加到组中
    选择某个用户组,进行Members管理组的成员
    在这里插入图片描述
    Gitlab用户在组里面有5种不同权限:
Guest:可以创建issue、发表评论,不能读写版本库 
Reporter:可以克隆代码,不能提交,QA、PM
可以赋予这个权限 
Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限 
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

5)创建了该组的用户后,就可以 git clone 改组的项目了

git clone http://服务器ip:82/hc_study_group/hc_study.git

2.4jenkins安装
下载网:https://www.jenkins.io/zh/download/

1.0 docker 方式

#下载
docker pull jenkins/jenkins:lts

#创建一个jenkins_home
mkdir -p  /docker-data/jenkins_home

#给宿主机/docker-data/jenkins_home/授权
chmod -R 1000 /docker-data/jenkins_home/

#运行
docker run  -di -p 8888:8080 -u root --name=docker-jenkins  -p 50000:50000  -v /docker-data/jenkins_home:/var/jenkins_home  jenkins/jenkins:lts

2.0 验证jenkins 是否安装成功

防火墙 和阿里云安全组开放8888端口。登录 服务器ip:8888
在这里插入图片描述
3.0 jenkins 管理员密码获取
可以去jenkins 容器内部/var/jenkins_home/secrets/initialAdminPassword 目录获取,也可以通过挂载 出来的数据卷对应位置获取,也可以通过docker 运行容器获取

docker logs jenkins容器id/容器名 
docker logs docker-jenkins

4.0 输入管理员密码后,点击安装推荐的插件即可。
5.0 创建管理员用户
在这里插入图片描述
6.0插件安装

6.1 SSH插件安装
在这里插入图片描述
6.2 SSH配置
6.2.1 添加凭证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
6.2.2 配置SSH
在这里插入图片描述

在这里插入图片描述

7.0 配置jdk 和maven
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/65777.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!