docker&git&gitlab-安装/部署/新建
--安装gcc
yum -y install gcc --安装g++
yum -y install gcc-c++ --安装编译所需的包
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install gcc perl-ExtUtils-MakeMaker
######## 编译安装的git ############
###卸载旧版git####
find / -name gitlab | xargs rm -rf #删除所有包含git文件
yum remove git #卸载git
###下载安装指定版本git###
https://mirrors.edge.kernel.org/pub/software/scm/git/
yum -y install lrzsz
tar -zxvf git-2.17.1.tar.gz
cd git-2.17.1
./configure --prefix=/usr/local/git
make && make install
vim /etc/profile
export PATH=$PATH:/usr/local/git/bin
source /etc/profile
git --version
./configure --prefix=/usr/local/git --with-config-file-path=/usr/local/git --with-openssl
##测试
mkdir -p /jpdata/www/project/jp-spt-web- cd /jpdata/www/project/jp-spt-web-
git init #初始化仓库
git config --global user.name "wangzq" #设置用户名
git config --global user.email "wangzq@****.com" #设置邮箱 、vim .git/config
[core]
repositoryformatversion =
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = http://192.168.1.12:8090/mml/demo/jp-spt-web-1.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
###### 安装docker ###########
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #已安装
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r #已测试
7、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 #安装错误
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce #已安装成功
8、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version #已验证
systemctl status docker #已验证
###### 安装gitlab #######
[root@nginx ~]# docker pull gitlab/gitlab-ce:11.11.4-ce.0
1、通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
[root@nginx ~]# docker run -d \
> --hostname 192.168.1.12 \
> -p 8443:443 \
> -p 8090:80 \
> -p 2222:22 \
> -p 9090:9090 \
> --name gitlab \
> --restart always \
> -v /mnt/gitlab/etc:/etc/gitlab \
> -v /mnt/gitlab/log:/var/log/gitlab \
> -v /mnt/gitlab/data:/var/opt/gitlab \
> gitlab/gitlab-ce:11.11.4-ce.0
netstat -tnl #再查看本机端口状态
1、修改/mnt/gitlab/etc/gitlab.rb
vim /mnt/gitlab/etc/gitlab.rb #把external_url改成部署机器的域名或者IP地址
external_url 'http://192.168.1.12'
2、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml #将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
port: 8090
创建工程:


#### 从其他代理平台上克隆工程,然后推送到自己的代理平台gitlab上 ###########
碰到这种情况就是双因子认证,需要把双因子认证取消掉:

取消:

再看:

再推送到gitlab上:
git remote set-url origin http://192.168.1.12/mml/jp-spt-web-1.git
或者用: git remote add origin http://192.168.1.12/mml/jp-spt-web-1.git
git remote -v #查看remote远程链接
git add --all #把所有的内容列入到任务栏里
git commit -m "第一次提交" -v #提交内容
git push -u origin master #origin master用户推送


#### 使用 docker 安装 runner 并且配置 runner 服务 ###
#先关闭防火墙,不然后面会报错
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
docker pull gitlab/gitlab-runner:v11.11.3 启动
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:v11.11.3 将gitlab上的项目注册到gitlab-runner中,注册步骤参考方式一:
sudo docker exec -it gitlab-runner gitlab-ci-multi-runner register
如图:

成功后,可以看到gitlab->你的项目->settings -> CI/CD ->Runners settings 页面下面有以下内容:

在gitlab项目根目录创建.gitlab-ci.yml文件,填写runner规则,具体语法课参考官方文档:https://docs.gitlab.com/ee/ci/yaml/
#git clone不需要输入账号,密码设置
cd ~
vim .git-credentials
http://root:SaRRvfvy8LdcGjXktzt9@172.23.210.30
http://root:UusSrDih2y95sYzuYJzC@172.23.210.31
:wq!
git config --global credential.helper store cat ~/.gitconfig
[credential] helper = store ##以上这样就可以了
回退版本:
可以使用命令“git log”查看:
2. 使用“git reset --hard 目标版本号”命令将版本回退
3.再用“git log”查看版本信息,此时本地的HEAD已经指向之前的版本:
4.3. 使用“git push -f”提交更改:
所以我们要用“git push -f”强制推上去,就可以了:
git push origin master --force
##不允许把项目强推上去, 需要修改对该项目的权限:

再查看下:

#撤销某次git提交:
git reflog
git revert 提交号
git reflog
git push origin HEAD --force

发布时所遇到的坑:
git不支持空目录, 可以增加一个空文件 .gitkeep
.删除可以用 find -name .gitignore| xargs rm -rf
git add --all
git commit -m "删除.gitignore"
git push -u origin master

docker&git&gitlab-安装/部署/新建的更多相关文章
- 一文搞懂GitLab安装部署及服务配置
GitLab安装部署 Git,GitHub,GitLab,这三个东东长得好像呀,都是个啥? Git是Linus Torvalds(如果不知道这位大神是谁,请出门左转,慢走不送~)为了帮助管理Linux ...
- DevOps实践之Gitlab安装部署
All GitLab packages are posted to our package server and can be downloaded. We maintain five repos: ...
- 【Docker】第一篇 Docker的初始化安装部署
一.Docker基础 Dacker倡导的理念:一个容器一个进程 Docker的版本了解: Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人 ...
- windows环境下Git的安装部署
一.获取安装包 百度搜索“git”,或者访问git官网:https://git-scm.com/,在首页中点击“downloads”进入下载页面 点击“windows”,获取安装包 二.安装部署 双击 ...
- Gitlab安装部署及基础操作
环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4 GitLa ...
- gitlab安装部署汉化
1.获取gitlab汉化包(要部署非汉化版,可以跳过这一块内容) 说明:gitlab中文社区版的项目,v7-v8.8是由Larry Li发起的“GitLab 中文社区版项目”(https://gitl ...
- CentOS 7 环境下 GitLab安装部署以及账号初始化
1. 安装相关依赖 yum install curl policycoreutils openssh-server openssh-clients -y # 确保sshd启动(正常情况下, sshd是 ...
- docker版redmine安装部署
数据库准备 docker run -d --name some-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgr ...
- GitLab安装部署与管理
一.安装Gitlab前系统预配置准备工作 操作系统:centos 7.3 1.关闭firewalld防火墙 #systemctl stop firewalld //关闭防火墙 #systemctl d ...
随机推荐
- MySql通过Data恢复数据库数据
公司的服务器开不了机,把硬盘装在其他机器上面,文件是没有丢失,可是数据库开不了了.上网查了下,用DATA恢复了数据. 1.先通过MYSQL目录下的my.ini配置文件找到 datadir的文件夹地址. ...
- Apache Flink - 作业和调度
Scheduling: Flink中的执行资源通过任务槽(Task Slots)定义.每个TaskManager都有一个或多个任务槽,每个槽都可以运行一个并行任务管道(pipeline).管道由多个连 ...
- easyUI的datagrid表格的使用
实现easyUI表格的里面数据的增删改查功能.SQL使用Oracle和mybatis. 话不多说,直接上代码. 首先是前段部分的. var session = GetSession(); var pa ...
- LDAP的filter查询详解
转: 等于(EQUAL TO): =大于等于(Greater than): >=小于等于(Less than): <=通配符(wildcard): * 逻辑运算符:逻辑与(log ...
- yolov1, yolo v2 和yolo v3系列
目标检测模型主要分为two-stage和one-stage, one-stage的代表主要是yolo系列和ssd.简单记录下学习yolo系列的笔记. 1 yolo V1 yolo v1是2015年的论 ...
- JavaScript WebSocket 使用总结
翻看之前写的 Highcharts使用总结 和 前后台交互之传参方式,想对 WebSocket 单独写一个使用总结. 一.认识 WebSocket . WebSocket 是 H5 新出的一种协议, ...
- 真正解决方案:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
今天在使用JDK 12.0 环境下使用Hibernate 时候出现了这个错误,错误日志如下: 故障原因: JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Ja ...
- [Java复习] 缓存Cache part2
7. Redis持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 为什么要持久化? 如果只是存在内存里,如果redis宕机再重启,内存数据就丢失了,所以要用持久化机 ...
- 自己发挥的内容 有关ViewModel的一句翻译(难点expecting)
- Qt编写输入法V2019终极版
一.前言 之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前 ...