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 ...
随机推荐
- MP实战系列(十七)之乐观锁插件
声明,目前只是仅仅针对3.0以下版本,2.0以上版本. 意图: 当要更新一条记录的时候,希望这条记录没有被别人更新 乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version ...
- Velocity.js初步
Js越来越强大了,超乎我的想象,以前JS仅仅只能通过ajax与后台交互,后来又有了Node.js,JS可以用于服务端,然后今天我又发现了JS的动态语言.明天呢?也许不少前端的小伙伴会说,慢些吧,慢些吧 ...
- 关于Spring IOC (DI-依赖注入)需要知道的一切
关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 <Spring入门经典>这本书无论对于初学者或者有 ...
- JavaScript 删除数组中的对象
1.获得对象在数组中的下标 function (_arr,_obj) { var len = _arr.length; for(var i = 0; i < len; i++){ if(_arr ...
- neo4j----创建索引
创建索引 create index on:Student(name) 删除索引 drop index on:Student(name) 创建唯一索引 create constraint on (s:T ...
- (转)win7批量创建用户
@echo off::zhangsan 改为你需要建立的用户名,123456改为你的密码,后面的两个参数的意思是“用户::不可以更改密码”和“密码永不过期”net user xiaowei 12345 ...
- MVC的BundleConfig类
在BundleConfig.cs文件中,包含了一些应用程序中使用的脚本和样式表的文件路径.并可以使用通配符.示例如下: using System.Web; using System.Web.Optim ...
- 第40章 CAN—通讯实验—零死角玩转STM32-F429系列
第40章 CAN—通讯实验—零死角玩转STM32-F429系列 第40章 CAN—通讯实验 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视 ...
- Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格 - 转
首先本文转自http://blog.csdn.net/csdnzouqi/article/details/50454703,是为了方便以后查看这些设置,最后在这里感谢原博主. 为了能跟上技术发展的脚步 ...
- c# thread pause example
some times we need pause thread to do some additional job: c# thread pause example as below: 1. crea ...