git 客户端连接gitlab 实现简单的CI/CD
1. git 客户端的安装
下载:
https://git-scm.com/download/win
截至最近:20180728最新版本 2.18的下载地址
https://github-production-release-asset-2e65be.s3.amazonaws.com/23216272/c0b82e3e-7623-11e8-93a5-b72bebbce542?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180728%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180728T093737Z&X-Amz-Expires=300&X-Amz-Signature=09cc88bffb7250c5baf8b1a86ca4cee9eb636772846b35cfecb097333a523108&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DGit-2.18.0-64-bit.exe&response-content-type=application%2Foctet-stream
直接安装即可
打开 git bash
切换目录

生成SSH 秘钥
ssh-keygen -t rsa -C "jinanxiaolaohu@163.com"
选择一个存放路径 如图示

查看目录下的秘钥文件

2. gitlab 创建用户
创建一个新用户

创建用户 打开邮箱 重新设置密码

登录之后增加ssh key

创建一个 group 并且创建一个project

创建第一个 项目

创建完成之后 会看到 一个地址

然后根据 后面的提示 来增加文件等
Git global setup
git config --global user.name "jinanxiaolaohu"
git config --global user.email "jinanxiaolaohu@163.com" Create a new repository
git clone http://10.24.101.122/jinanxiaolaohu630/CICD.git
cd CICD
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
连接成功 正常可以使用。
3. git 添加 .gitlab-ci.yml
vim .gitlab-ci.yml
添加内容
cd:
script:
- ifconfig
- export DOCKER_HOST="tcp://localhost:2375"
- docker ps
- docker cp zhaobsh.html nginx:/usr/share/nginx/html/index.html
简单介绍 第一步 应该是 stage
第二部是 脚本 运行的
每一个 - 是 命令。
4. 添加 html 文件
vim zhaobsh. html 随便添加点内容 ”赵本帅测试用“
5. 安装 gitlab-runner
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-amd64
修改 运行权限
sudo chmod +x /usr/local/bin/gitlab-runner
安装
gitlab-runner install --user=root
运行
gitlab-runner start
注册
gitlab-runner register
参照gitlab 里面的设置信息

简单的注册 使用shell 的方式

注册完成进行查看

将增加的runner 定位到 新增加的project 上面 作为 专用 runner来使用

进入新增加的项目进行查看

查看机器runner的宿主机上面是否安装运行了docker

修改 docker 的运行方式 不让docker client 使用 sock文件进行处理
备注: 这里 用sock方式 总是报错 不得已 stackoverflow 上面说改成tcp的方式 能够解决。
查看docker services的运行方式

修改 service 文件
增加内容
vim /usr/lib/systemd/system/docker.service
在 如下上面增加 -H 以及后续内容 带下划线的部分
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375
增加一个docker的环境变量
vim /etc/profile.d/docker.sh
增加内容
export DOCKER_HOST="tcp://127.0.0.1:2375"
重新加载配置文件 以及重启docker
systemctl daemon-reload
systemctl restart docker
拉取 nginx 的景象 以及运行之
docker pull nginx
docker run -d -p : --name nginx nginx
将 想修改的首页 进行处理

先查看一下 nginx的首页

同样的将gitlab-ci的文件提交到的服务器

push之后就会有活动

最终能够 pass 并且查看一下

再打开首页 验证一下

最简单的 一个 gitlab-runner的部署就可以了。
git 客户端连接gitlab 实现简单的CI/CD的更多相关文章
- 使用gitlab自带的ci/cd实现.net core应用程序的部署
这两天在折腾持续集成和交付,公司考虑使用gitlab自带的ci/cd来处理,特此记下来整个流程步骤. 好记性不如一支烂笔头---尼古拉斯-古人言 第一步: 安装gitlab,这个自然不用多说 第二步: ...
- 好代码是管出来的——使用GitHub实现简单的CI/CD
软件开发一般来说是一项团队作业,在本系列文章开始就提到过软件的编码是由一个团队“并行”完成的,为了保证编码任务正常完成,首先引入版本控制工具来完成代码管理,为了保证代码质量引入了代码分析器以及代码测试 ...
- Docker+Vagrant+Gitlab 构建自动化的 CI/CD
如果你的开发流程是下面这个样子的, 那么你一定很好奇, 为什么我提交到仓库的代码可以自动部署并访问到最新的提交内容 这就是近年来兴起的 DevOps 文化, 很方便的解决了开发人员和运维人员每次发布版 ...
- 利用jenkens+github实现简单的CI/CD
一 获取github accessToken 依次点击 settings----> Developer settings --->Personal access tokens 到这里如 ...
- GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署
预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署, ...
- 前端初探 Gitlab CI/CD
前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就是其中一项,那么什么是 C ...
- Gitlab CI/CD
Gitlab CI/CD 前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就 ...
- 官网GitLab CI/CD英文文档翻译
在查阅GitLab官网的CI/CD功能说明时,全是英文看起来不方便,通过翻译软件自动翻译后"内容失真",看起来很变扭.查阅了百度上的资料发现很多翻译很老旧,有些甚至是挂羊头卖狗肉. ...
- [转]gitlab ci/cd 发布
转自 https://meigit.readthedocs.io/en/latest/configure_gitlab_i18n_and_create_gitlab_ci_with_gitlab_ru ...
随机推荐
- Python2.7-logging模块
logging模块,用于记录程序的运行情况,可将需要的信息打印到控制台或是日志文件中 1.Logger对象 Logger对象从来不会被直接使用,都是通过logging.getLogger(name)这 ...
- Storm 运行例子
1.建立Java工程 使用idea,添加lib库,拷贝storm中lib到工程中 2.拷贝wordcount代码 下载src包,解压找到 apache-storm-0.9.4-src\apache-s ...
- Octocat,看着喜欢就都下载下来了
看见github的octocat很喜欢,就用c#写了个程序统统download了,附上一个比较高效的下载程序,以及文末的图片压缩包. 用到了Jumony解析网页. HttpClient client ...
- [LCT应用]
维护动态生成树,建树方法:假设边edge(x,y),则建立x ->edge->y的先后顺序.
- JavaScript中call,apply,bind方法的区别
call,apply,bind方法一般用来指定this的环境. var a = { user:"hahaha", fn:function(){ console.log(this.u ...
- [CF1063F]String Journey[后缀数组+线段树]
题意 在 \(S\) 中找出 \(t\) 个子串满足 \(t_{i+1}\) 是 \(t_{i}\) 的子串,要让 \(t\) 最大. \(|S| \leq 5\times 10^5\). 分析 定义 ...
- 【分享】Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
- eclipse + maven + com.sun.jersey 创建 restful api
maven 创建 jersey 项目 如果没找到 jersey archetype, 下载 maven 的 archetype xml, 然后导入 archetypes 运行 右击 main.java ...
- SpringBoot日记——错误页处理的配置篇
在我们访问页面的时候经常会遇到各种问题,比如404,400,500,502等等,可返回的错误页对用户来讲,并不太亲民,所以要定制一下自己的错误页. 我们先访问一个错误页面,看下效果:(虽然给我们提供了 ...
- Hive的一些理解
首先谈一下关于hive和hbase的区别的疑问(完全不是一个东西): 本质上来说hive和hbase没什么关系,虽然都是表,查数据等,但是他们根本就不是一个层面的东西 hive就是一个rapduce的 ...