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

Jenkins&&gitlab的更多相关文章

  1. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  2. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  3. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  4. 【转】jenkins+gitlab配置遇到问题

    搭建jenkins+gitlab拉取代码失败,日志如下: ERROR: Error fetching remote repo 'origin'hudson.plugins.git.GitExcepti ...

  5. 持续集成之Jenkins+Gitlab实现持续集成 [二]

    持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建  General  源码管理 我们安装的是Git插件,还可以安装svn插件  我们将 ...

  6. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  7. 记录Jenkins+gitlab+maven

    摘要 昨天抽空将jenkins+gitlab(git)+maven整合了一下,再次记录一下以防下次再去查找省的麻烦. git.maven.java配置 启动jenkins之后进入系统管理里面的Glob ...

  8. 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署

    ==================================================================================================== ...

  9. Jenkins Gitlab持续集成打包平台搭建

    http://www.cnblogs.com/skyseraph/p/5695021.html 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的 ...

  10. 【开发工具】Jenkins+Gitlab实现自动化部署

    我在尝试在容器中安装Jenkins时,初衷是希望使用docker in docker 的模式来实现Jenkins slave容器按需创建.在实现的时候需要在Jenkins 中安装Kubernetes插 ...

随机推荐

  1. 线段树学习笔记(基础&进阶)(一) | P3372 【模板】线段树 1 题解

    什么是线段树 线段树是一棵二叉树,每个结点存储需维护的信息,一般用于处理区间最值.区间和等问题. 线段树的用处 对编号连续的一些点进行修改或者统计操作,修改和统计的复杂度都是 O(log n). 基础 ...

  2. 某云负载均衡获取客户端真实IP的问题

    某云负载均衡真实IP的问题,我们这边已经遇到过两次了.而且每次和售后沟通的时候都大费周折,主要是要给售后说明白目前文档的获取真实IP是有问题的,他们觉得文档上说明的肯定没问题,售后要是不明白,他们不会 ...

  3. 如何评判一个企业是否需要实施erp系统?

    一个企业是否需要实施ERP系统很大程度上取决于其规模.这里需要向提问者说明的一点是:很多企业上ERP,并不会用得到MRP,ERP是企业资源计划,不是制造业企业专用,MRP也不是ERP必须,金融.保险之 ...

  4. ToroiseGit/GitBash 设置提交信息模板设置

    一.背景:当使用git提交代码时,每次的提交信息固定,却又比较长不好记的时,还需要将模板的地址保存下来,如果能设置一个固定的模板就可以很好的解决这个问题. 提交前的提交信息需要手动输入: 二.Toro ...

  5. 非swoole的方式实现简单的异步(nginx模式下)

    set_time_limit(0);echo '任务开始'.time();/*即时打印*/register_shutdown_function([$this, "test"]);/ ...

  6. SpringMVC入手项目注解版

    SpringMVC入手项目注解版 1.创建Maven项目在pom.xml文件引入相关的依赖 <dependencies> <dependency> <groupId> ...

  7. JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象

    文章目录 1.工厂方法创建对象 1.1 代码块 1.2.测试结果 2.原型对象 2.1 代码 2.2 测试结果 3.toString 3.1 代码 3.2 测试结果 4.数组 4.1 代码 5.字面量 ...

  8. Substring 在BCL和CLR里面搞了啥

    楔子 还是做点事情,不要那么散漫. 本文以简单的Substring(int startindex,int Length)函数为例,来递进下它在托管和非托管的一些行为. 以下均为个人理解,如有疏漏请指正 ...

  9. 畅联新增物联网设备接入协议:精华隆的NB一键报警

    这个是有点时间了,这里记录一下! ----------------------------------------------------------------------------------- ...

  10. 第一章:TypeScript快速入门

    一.TypeScript 开发环境搭建 1.TypeScript 是什么? TypeScript 是一种由微软开发的自由和开源的编程语言.它是 JavaScript 的一个超集,而且本质上向这个语言添 ...