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. Anaconda安装和卸载+虚拟环境Tensorflow安装以及末尾问题大全(附Anaconda安装包),这一篇就够了!!!

    前言 实话说,在自己亲手捣鼓了一下午加一晚上后,本人深深地感受到了对于"Anaconda安装+虚拟环境Tensorflow安装"里面的坑点之多,再加上目前一些博主的资料有点久远,尤 ...

  2. MySQL数据库-数据表(下)

    分析:给 reader 表添加数据. INSERT INTO:插入数据,插入数据的时候会检查主键或者唯一索引,如果出现重复就会报错: 语法:INSERT INTO table_name VALUES ...

  3. [题解] Topcoder 15279 SRM 761 Div 1 Level 3 SpanningSubgraphs DP,容斥

    题目 考虑DP.\(f(msk,i)\) 表示集合 \(msk(一定包含0号点)\) ,选了恰好i条边的连通方案数.转移用容斥,用这个点集内部所有连边方案减去不连通的.令\(|e_{msk}|\)表示 ...

  4. 洛谷P2866 [USACO06NOV]Bad Hair Day S (单调栈)

    看到这道题很容易想到单调栈,但我一开始想的是从后往前扫,但发现会有问题(因为这样会对后面牛的答案造成影响),所以这时我们要及时换一个思路,从前往后扫. 维护一个单调递减的栈,插入h[i]时,小等于它的 ...

  5. P3998 [SHOI2013]发微博 方法记录

    原题链接 [SHOI2013]发微博 题目描述 刚开通的 SH 微博共有 \(n\) 个用户(\(1\sim n\) 标号),在这短短一个月的时间内,用户们活动频繁,共有 \(m\) 条按时间顺序的记 ...

  6. Docker | 数据持久化与数据共享

    数据持久化(安装MySQL) 参考另一篇Docker安装mysql: https://www.cnblogs.com/all-smile/p/16778376.html MySQL的数据持久化问题 # ...

  7. TensorFlow搭建模型方式总结

    引言 TensorFlow提供了多种API,使得入门者和专家可以根据自己的需求选择不同的API搭建模型. 基于Keras Sequential API搭建模型 Sequential适用于线性堆叠的方式 ...

  8. JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)

    阿西吧.自从学会使用框架.再看以前写的.我真的是要死了.项目用的还不是maven.整理项目能给我搞死.更要命的是这个项目还是用eclipse写的.数据库还是SQL server.阿西吧 这个系统代码不 ...

  9. NLP之Bi-LSTM(在长句中预测下一个单词)

    Bi-LSTM @ 目录 Bi-LSTM 1.理论 1.1 基本模型 1.2 Bi-LSTM的特点 2.实验 2.1 实验步骤 2.2 实验模型 1.理论 1.1 基本模型 Bi-LSTM模型分为2个 ...

  10. .Net 文件导出下载

    //1.首先要有文件路径 2.要知道文件扩展名 3.根据扩展名在Provider Map对应的contentType 4.return FileSteam public IActionResult E ...