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 ...
随机推荐
- CentOS7下双网卡iptables端口转发规则
1. 拓扑图 10.1.1.173(内网目标) <-------- 10.1.1.207(内网网关)+172.16.5.100(外网入口) <----------- 172.16.6. ...
- openstack vm ping 114.114.114.114
route add -net 0.0.0.0 netmask 0.0.0.0 gateway 192.168.0.131 route del -net 0.0.0.0 netmask 0.0.0.0 ...
- jqgrid 配置分页大小及下拉项
如何配置分页大小的下拉项?显示效果如下: 通过 rowNum 来设置默认分页大小 通过 rowList 来设置分页下拉. rowList 的值为一个数组,比如:[10,20,30] $(" ...
- SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段
从下文的链接中找到一些背景,因为Excel会以前8行作为参考,如果某个字段前8行的最长长度没有超过255个字符,就会报错.如果知道某个字段属于描述性字段,而且字段的数据长度很可能超过255个字符长度, ...
- go语言之行--文件操作、命令行参数、序列化与反序列化详解
一.简介 文件操作对于我们来说也是非常常用的,在python中使用open函数来对文件进行操作,而在go语言中我们使用os.File对文件进行操作. 二.终端读写 操作终端句柄常量 os.Stdin: ...
- Django Rest Framework源码剖析(五)-----解析器
一.简介 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数 ...
- POJ 2965&&1753
最近由于复习备考(然而考得还是很炸),很久没打题目了.现在开始刷寒假作业,不得不搞POJ 话说没有中文真的好烦啊! 先看1753 题目大意是说在一个4*4的格子中有黑白两色的棋子,你可以翻动其中的棋子 ...
- Codeforces 946D - Timetable (预处理+分组背包)
题目链接:Timetable 题意:Ivan是一个学生,在一个Berland周内要上n天课,每天最多会有m节,他能逃课的最大数量是k.求他在学校的时间最小是多少? 题解:先把每天逃课x节在学校呆的最小 ...
- P2463 [SDOI2008]Sandy的卡片
写一种\(O(nm)\)的做法,也就是\(O(\sum 串长)\)的. 先通过差分转化,把每个数变成这个数与上一个数的差,第一个数去掉,答案就是最长公共子串+1 按照套路把所有串拼起来,中间加一个分隔 ...
- R绘图 第五篇:绘制散点图(ggplot2)
ggplot2包中绘制点图的函数有两个:geom_point和 geom_dotplot,当使用geom_dotplot绘图时,point的形状是dot,不能改变点的形状,因此,geom_dotplo ...