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. Pyhton实践项目之(一)五子棋人机对战

    1 """五子棋之人机对战""" 2 3 import random 4 import sys 5 6 import pygame 7 im ...

  2. P1896 [SCOI2005] 互不侵犯 方法记录

    原题链接 [SCOI2005] 互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子 ...

  3. 驱动开发:内核取ntoskrnl模块基地址

    模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程 ...

  4. MSQL-->存储引擎

    概述 MySQL体系结构图 Innodb引擎是在mysql的5.5版本之后的默认存储引擎. Index是在引擎层次的,不同的存储引擎index的用法不同. 存储引擎就是存储数据,建立索引,更新查询数据 ...

  5. selenium4-定位单个页面元素

    在操作各项页面元素之前,先介绍下如何通过Python代码来找到这些元素.WebDriver提供了18种元素定位方法,共分为两类(定位当个元素.定位组元素),本节先举例详细介绍下selenium4-定位 ...

  6. JS---HelloWorld

    1.功能效果图 2.代码实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. nginx 通过IP访问项目

    项目新需求,因为是小范围使用的网站,所以不打算配域名,直接通过IP访问当前项目. 环境: LNMP 一键集成环境 当前IP指向的目录 :/home/wwwroot/default/ 但是我的项目.需要 ...

  8. 重新整理 .net core 实践篇 ———— linux上排查问题 [外篇]

    前言 简单介绍一下在排查问题.献给初学者. 该文的前置篇: https://www.cnblogs.com/aoximin/p/16838657.html 正文 什么是linux系统 linux 是基 ...

  9. 学习ASP.NET Core Blazor编程系列十——路由(上)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  10. 前端常见loading动画

    loading动画是前端页面加载时必不可少的元素,好看合适的加载动画会极大的提升用户体验与系统的交互效果.下面为大家提供几种简单的加载动画效果,如果帮助到你了请点赞评论. 1.无限循环的圆圈 < ...