Jenkins&&gitlab
阅读原文时间:2023年07月08日阅读:4

DevOps 强调整个组织的合作以及交付和基础设施变更的自动化

gitlab下载:

下载地址:

https://docs.gitlab.com/ee/install/requirements.html #安装依赖

https://packages.gitlab.com/gitlab/gitlab-ce #官方下载地址

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ #清华大学镜像源

root@awen-UBuntu:/awen# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy

查看目录

root@awen-UBuntu:/awen# dpkg -c gitlab-ce_15.5.3-ce.0_amd64.deb | less

安装gitlab

root@:/awen# dpkg -i gitlab-ce_15.5.3-ce.0_amd64.deb

root@awen:/etc/gitlab# gitlab-ctl reconfigure

创建group

设置注册限制

gitlab项目与账户权限:

账户权限分类:

Guest-访客,可以创建issue、发表评论,不能读写版本库

Reporter-Git项目测试人员,可以克隆代码,不能提交,QA、PM可以赋予这个权限

Developer-Git项目开发人员,可以克隆代码、开发、提交、push,RD(Research and Development engineer,研发工程师)可以赋予此权限

Master-Git项目管理员,可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予此权限

Owner-Git系统管理员即Administrator,可以设置项目访问权限、删除项目、迁移项目、管理组成员,研发组leader可以赋予此权限

项目权限分类:

Private:私有 项目、只有组内成员才能看到

Internal:内部项目、只有登录的用户就能看到

Public:公开项目、所有人都能看到

创建组  对应公司的项

修改密码

创建project,对应公司项目中的服务,

root@awen1:~# git clone http://10.4.7.134/awen/app01.git
Cloning into 'app01'…
Username for 'http://10.4.7.134': root
Password for 'http://root@10.4.7.134':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

授权

gitlab基础管理:

安装目录:

/etc/gitlab #配置文件目录

/run/gitlab #运行pid目录

/opt/gitlab #安装目录

/var/opt/gitlab #数据目录

/var/log/gitlab #日志目录 

gitlab基础管理:

gitlab-rake #数据备份恢复等数据操作

gitlab-ctl #客户端命令行操作行

gitlab-ctl stop #停止gitlab

gitlab-ctl start #启动gitlab

gitlab-ctl restar #重启gitlab

gitlab-ctl status #查看组件运行状态

gitlab-ctl tail nginx #查看某个组件的日志

gitlab工作流程:

工作区:clone到本地办公PC的代码或者开发自己编写的代码文件所在的目录,通常是编写的代码所在的目录名称。

暂存区:用于存储在工作区中对代码进行修改后的文件所保存的地方,使用git add命令添加。

本地仓库:用于提交存储在工作区和暂存区中改过的文件地方,使用git commit 命令提交。

远程仓库:多个开发共同协作提交代码的仓库,即gitlab服务器。

git客户端常用基础命令:

git clone #克隆代码到本地

git push #提交代码到服务器

git pull #更新本地代码

git add index.html、abc/、 . #添加指定文件、目录或当前目录下所有数据到暂存区

git commit -m “

#提交文件到工作区

git status #查看工作区的状态

git reset --hard HEAD^^ #git版本回滚, HEAD为当前版本,加一个^为上一个,^^为上上一个版本

git reflog # #获取每次提交的ID,可以使用--hard根据提交的ID进行版本回退

git reset --hard 5ae4b06 #回退到指定id的版本

git config --global user.name “NAME” #设置全局用户名

git config --global user.email xxxx@yy.com #设置全局邮箱

git config --global --list #列出用户全局设置

git branch #查看当前所处的分支

git checkout -b develop #创建并切换到一个新分支

git checkout develop #切换分支

git log #查看操作日志

vim .gitignore #定义忽略文件上传至gitlab

gitlab数据备份与恢复:

备份:

root@gitlab:~# gitlab-ctl stop unicorn sidekiq

root@gitlab:~# gitlab-rake gitlab:backup:create #在任意目录即可备份当前gitlab数据

/var/opt/gitlab/nginx/conf #nginx配置文件

/etc/gitlab/gitlab.rb #gitlab配置文件

/etc/gitlab/gitlab-secrets.json #key文件

root@gitlab:~# gitlab-ctl start unicorn sidekiq

删除或误提交数据

恢复:

查看要恢复的文件:

root@gitlab:~# ll /var/opt/gitlab/backups/ # 查看Gitlab数据备份目录

-rw------- 1 git git 399360 Oct 24 10:04 1666577054_2022_10_24_15.4.3_gitlab_backup.tar

root@gitlab:~# gitlab-ctl stop unicorn sidekiq #停止服务

root@gitlab:~# gitlab-rake gitlab:backup:restore BACKUP=1666577054_2022_10_24_15.4.3 #unix时间戳、备份年月日、版本号

root@gitlab:~# gitlab-ctl start unicorn sidekiq #启动服务

Jenkins简介:

安装jdk

apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
apt install -y libasound2 && sudo apt autoremove -y
dpkg -i jdk-11.0.17_linux-x64_bin.deb

/etc/profile 添加

export JAVA_HOME=/usr/lib/jvm/jdk-11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/:${JAVA_HOME}/bin:$PATH

root@awen:~# apt install fontconfig

官方源:https://mirrors.jenkins.io/debian-stable/

清华大学镜像站下载

root@awen1:~# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/debian-stable/jenkins_2.361.3_all.deb

查看安装包目录

root@awen1:~# dpkg -c jenkins_2.361.2_all.deb 

安装插件后 重启Jenkins  使插件生效

root@awen:~# systemctl restart jenkins.service

web界面安装插件

离线安装插件:

http://updates.jenkins-ci.org/download/plugins/ #插件下载地址

生成公钥:

root@awen:~# ssh-keygen

查看公钥

root@awen:~# cat /root/.ssh/id_rsa.pub

把公钥放置gitlab