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 ...
随机推荐
- oracle 更新用户密码,授连接权限,
1.授连接权限 grant connect to 用户名; ALTER USER 用户名 ACCOUNT UNLOCK; 2.更新密码 ALTER USER 用户名 IDENTIFIED BY 更新密 ...
- oracle 数据库 NLS_CHARACTERSET 字符集的修改
修改Oracle 数据库字符集总结:修改方式大约有3种:方法一: (最安全的方法)数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换.方法二: (最常用的方法)通过 &q ...
- 节点的启动与关闭 ros::init()解析(c++)
1.初始化roscpp 节点 ros::init() API链接:http://docs.ros.org/api/roscpp/html/init_8h.html 在node代码中在调用其它rosc ...
- linux固定ip地址
最近自己搭jenkins发现ifconfig出来ip老是变来变去决定固定服务ip,原来配置: [root@bogon bin]# cat /etc/sysconfig/network-scripts/ ...
- P1522 牛的旅行 Cow Tours
题目描述 农民 John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,Farmer John就有多个 ...
- shell编程的笔记
关于历史命令 Shell相关 !! 是上一次执行的命令 !字符串 指执行最近一次以这个字符串开头的命令 !$ 取出上一条命令最后一个单词或命令 *匹配0个或多个字符 ?匹配一个字符 ...
- bat 栈上限
栈耗尽,递归会导致该问题. ****** B A T C H R E C U R S I O N exceeds STACK limits ******Recursion Count=1240, St ...
- Codeforces round 1111
CF Div 2 537 比赛链接 感觉题目难度OK,五个题都能做,后俩题考察人的翻译水平... 另外,$Claris$太强了... A 直接按照题意模拟,不知道为啥有人会被× 代码: #includ ...
- 蜻蜓fm面试
一面: 面试官首先看简历上写了在腾讯的实习,然后就探讨了半天,各种虚拟化的技术.... 说完之后,估计都半小时过去了,然后就又说了一下你用什么语言,你做的东西都比较偏底层呢,然后你对工作有什么要求吗? ...
- libgdx自制简易Flappy Bird
Flappy Bird,好吧,无需多说.今天年初不知咋的,一下子就火了,而且直接跃居榜首,在ios和android平台都是如此,实在难以理解.传说其作者每天收入能达到5w刀,着实碉堡了... 好吧,咱 ...