gitlab 中文汉化
https://gitlab.com/xhang/gitlab 这个是汉化包的网站,但是新版本可以直接设置中文
登录后——setting——preferences——language—-简体中文
基本使用
用户-用户组-项目,对于项目管理而言,我们的步骤应该是先建立组,然后再创建项目,给项目中添加人。
- 先建立组
- 创建项目 让项目隶属于该组
- 创建用户 并添加组 分配权限
创建用户
此处的邮箱验证就是之前在gitlab中进行设置的
添加组并分配权限
关闭注册
设置-通用-注册限制
仓库创建完成
jenkins 中使用
准备
- jenkins 插件 git plugin
- git客户端(如果是服务器也需要安装,参考 git实际应用)
备注:之前自己在虚拟机中创建了jenkins和gitlab,但是并没有在jenkins这个虚拟机中安装git,我是从自己本机电脑进行配置ssh,这样是没有办法跟jenkins中的git ssh 相关联上使用。 正确的操作流程应该是需要在 jenkins 这台服务器上生成ssh,并配置到gitlab上去。
工作原理
Jenkins的git插件封装了git客户端的操作命令(类似于研发过程中使用的git GUI工具:https://www.cnblogs.com/ups216/p/5603199.html),为流水线配置人员提供了git指令的配置界面,只需通过在“流水线语法/git”中配置获取代码的相关参数,并在Pipeline脚本中执行,即可将Git远程仓库中的代码拉取待Jenkins工作空间(不指定时,默认是Jenkins工作目录/worksapce/job名称)
原理说明
- git 插件只是一个命令配置和解析器,负责将配置的命令转换成git客户端相关命令,实际的代码拉取工作是由git客户端完成。
- git 插件可以绕过账号密码,通过ssh直接调用git客户端执行命令拉取代码
- jenkins执行命令权限问题导致必须找到git的命令目录(即便已经在系统中配置了全局path)
配置
要拉取代码,需要做配置
- 下载并安装git客户端【拉取代码执行员】
- 通过
where is git
which git
获取到git的安装目录并配置到Jenkins【Jenkins要找到执行员】
进入到“Jenkins/全局工具配置”中,按照该下图中配置路径(名字任意取),如/usr/bin/git[root@localhost bin]# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
[root@localhost bin]#
【Tips】未配置或者配置不正确执行时出现如下报错
添加凭证
可以是用户名/密码,(需要具备相应权限),也可用SSH登录
SSH配置
1.本地(服务器 安装了jenkins的)生成密钥
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitlab_id_rsa
ssh-keygen -t rsa -C "邮箱" //简单版本
2.查看已生成的公钥并配置
cat ~/.ssh/gitlab_id_rsa.pub
在~/.ssh 目录下新建一个config文件
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
3.将公钥添加进 Gitlab 中,并进行验证(jenkins机器)
$ ssh -T git@gitlab.com
4.查看已生成的私钥并配置
cat .ssh/gitlab_id_rsa
进入Jenkins>凭据>全局凭据>添加凭据,类型选择SSH Username with private key,Private Key中输入第5步中查看的私钥(或者在项目中进行git的配置也可以)
(Username: 随便起一个名字,以便在创建 Job 的时候使用该凭证Credential )
如下没有出现红色校验就是成功了
问题
git未安装报错
解决:安装git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install git
jenkins 中配置
jenkins 中使用 git