部署JenKins+Gitlab
Jenkins
Jenkins本身是不具备任何功能的,Jenkins中所有的功能全部来自于插件。
1、为什么使用Jenkins
dev 开发环境
test 测试环境
pre 预发布环境
master 生成环境
2、Jenkins + GitLab
Jenkins 负责部署
GitLab 负责存放代码
3、Jenkins安装
1、yum
2、rpm
# Jenkins 是使用 Java 开发的
[root@jenkins ~]# yum install java-1.8.0-openjdk* -y
[root@jenkins ~]# yum install jenkins-2.249.1-1.1.noarch.rpm
cat /var/lib/jenkins/secrets/initialAdminPassword
4、安装Jenkins插件
1.解压插件安装包
[root@jenkins ~]# tar -tf plugins.tar.gz
2.移动
[root@jenkins ~]## mv plugins.tar.gz /var/lib/jenkins/plugins/
3.转到插件目录
[root@jenkins ~]# cd /var/lib/jenkins/plugins/
4.解压
[[root@jenkins ~]# tar -xf plugins.tar.gz
5.删除安装包节省资源
[root@jenkins ~]# rm -rf plugins.tar.gz
6.重启 Jenkins
[root@jenkins plugins]# systemctl restart jenkins
7.浏览器进入Jenkins 系统管理-插件管理-高级-升级站点更换域名
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
8.修改源
[root@jenkins updates]# cd /var/lib/jenkins/updates
[root@jenkins updates]# sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
[root@ljenkins updates]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
5、部署GitLab
代码管理 git gitlab
常用的代码管理工具:GitHub、Gitee、GitLab
1、安装依赖
yum -y install policycoreutils openssh-server openssh-clients postfix
2、关闭防火墙,关闭selinux
systemctl disable firewalld
3、下载Gitlab安装包
[root@localhost ~]# curl -o gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm
4、安装gitlab
[root@localhost ~]# yum install gitlab-ce-13.9.7-ce.0.el7.x86_64.rpm -y
5、配置
[root@localhost ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.15.122'
nginx['listen_port'] = 80
# 刷新配置(默认启动)
[root@sean ~]# gitlab-ctl reconfigure
# 启动
[root@sean ~]# gitlab-ctl start
# 停止
[root@sean ~]# gitlab-ctl stop
# 重启
[root@sean ~]# gitlab-ctl restart
Git
1、初始化仓库
[root@jenkins ~]# mkdir python
[root@jenkins ~]# cd python/
[root@jenkins python]# git init
Initialized empty Git repository in /root/python/.git/
[root@jenkins python]# ll -a
total 0
drwxr-xr-x. 3 root root 18 Jan 12 11:41 .
dr-xr-x---. 5 root root 221 Jan 12 11:41 ..
drwxr-xr-x. 7 root root 119 Jan 12 11:41 .git
2、创建文件并加入缓存区
[root@jenkins python]# vim index.py
[root@jenkins python]# ll
total 4
-rw-r--r--. 1 root root 21 Jan 12 11:42 index.py
[root@jenkins python]# git add index.py # 每次修改都要提交
[root@jenkins python]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: index.py
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# demo.py
3、提交至暂存区
[root@jenkins python]# git commit -m 'init'
4、提交至远程
# 创建仓库
# 添加用户名和邮箱
[root@jenkins python]# git config --global user.name "Administrator"
[root@jenkins python]# git config --global user.email "admin@example.com"
# 管理远程仓库
[root@jenkins python]# git remote add origin http://192.168.11.8/root/python.git
# 提交至远程仓库
git push origin master
6.1、免密上传
# 删除原来的密码配置
[root@jenkins python]# vim .git/config
[remote "origin"]
url = git@192.168.11.8:root/python.git
fetch = +refs/heads/*:refs/remotes/origin/*
# 添加ssh连接
[root@jenkins python]# git remote add origin git@192.168.11.8:root/python.git
git仓库Clone复制SSH
[root@jenkins python]# ssh-keygen
# 查看公钥
[root@jenkins python]# cat ~/.ssh/id_rsa.pub
# 将ssh 公钥上传至gitlab
6.2、分支
# 查看本地分支
[root@jenkins python]# git branch
* master
# 查看远程分支
[root@jenkins python]# git branch -a
* master
remotes/origin/master
# 创建分支
[root@jenkins python]# git checkout -b test
Switched to a new branch 'test'
# 将本地新创建的分支提交至远程
[root@jenkins python]# git push origin test
# 切换分支
[root@jenkins python]# git checkout master
6.3、Git Tag
git tag是一个特殊的分支,这个分支只允许创建和删除不允许修改。
[root@jenkins python]# git tag -a stable-v1 -m '简介'
[root@jenkins python]# git tag
stable-v1
Gitlab的使用
7.1、创建用户及用户组
1.Guest:可以创建issue、发表评论,不能读写版本库
2.Reporter:可以克隆代码,不能提交,QA、PM 可以赋予这个权限
3.Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
4.Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个 权限
5.Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组 长可以赋予这个权限

浙公网安备 33010602011771号