如果你的开发流程是下面这个样子的, 那么你一定很好奇, 为什么我提交到仓库的代码可以自动部署并访问到最新的提交内容 这就是近年来兴起的 DevOps 文化, 很方便的解决了开发人员和运维人员每次发布版本需要联调沟通等问题, 缩短了程序发布时间, 可以以更短的周期进行迭代. 所以在收集了很多教程之后, 我也搭建了一个可自动测试,测试用例通过后可自动部署的 CI/CD 流程 实验前准备 VirtualBox 用来模拟需要用到的服务器(大概4台,云服务器也可以) Vagrant 用来编排 Virtua…
这两天在折腾持续集成和交付,公司考虑使用gitlab自带的ci/cd来处理,特此记下来整个流程步骤. 好记性不如一支烂笔头---尼古拉斯-古人言 第一步: 安装gitlab,这个自然不用多说 第二步: 使用docker容器安装gitlab-runner组件 新建一个docker-compose.yml文件,内容如下,在linux系统下使用 docker-compose up -d 命令跑起来就好(如果不会,可度娘搜索安装和使用) 1 version: "3.3" 2 services:…
​ 缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 ready-for-testing 的 label 再评论一句 Jenkins go 就可以自动的运行相应的 UT 测试,效果如下: 因为是租用的 Azure 的云主机,加上 nebula 的编译要求的机器配置较高,而且任务的触发主要集中在白天.所以上述的方案性价比较低,从去年团队就在考虑寻找替代的方…
目前持续集成的生态越来越完善,工具也有很多,开源的或商业的.如: 最最流行的,也是使用最多的 Jenkins 有着持续集成DNA的ThoughtWorks GO.理念:"Deployment as pipeline" (华为容器平台应该是基于GO做的二次开发实现) Atlassian工具链之一的Bamboo (数人云应该是基于Banboo实现的CI/CD) 与Gitlab紧密集成的Gitlab CI 专为开源打造的Travis CI,与Github紧密集成 使用 python 语言实现…
项目 内容 这个作业属于哪个课程 2021学年春季软件工程(罗杰 任健) 这个作业的要求在哪里 2021年软工-热身阅读作业#2 我在这个课程的目标是 了解和掌握现代软件开发和项目管理技术,锻炼在大规模开发中的团队协作能力 这个作业在哪个具体方面帮助我实现目标 阅读教材,在自学.发问.回答这个步骤中了解软件工程中基本概念:初步学习CI/CD相关概念和运用 阅读提问 问题一:个人在团队中应该只是一个流水线上的机器吗? 教材P47有如下段落: 软件开发有很多个人的.感情驱动的因素--我总觉得灵感是属…
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=AKIAIWNJYAX…
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_195 "世界上有那么多城市,城市里有那么多的酒馆,可她,却偏偏走进了我的-",这是电影<卡萨布拉卡>中的一句著名独白,投射到现实生活中,与之类似的情况不胜枚举,这世界上有那么多的系统,系统中有那么多的浏览器,在只有一台测试机的前提下,难道我们只能排队一个一个地做兼容性测试吗?有没有效率更高的方法呢?为此我们提出一个更高效的解决方案:使用Docker+Selenium Grid. Selenium Grid…
预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署,借助GitLab-runner实现持续交付部署,供用户访问项目新版,这里用在开发环境. 环境说明 硬件基本要求:4核4G RHEL8 Linux operating system:这里用官网提到的 AlamLinux8(安装GitLab时,系统的 /boot 需要有1GB以上的空间) GitLab:…
前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就是其中一项,那么什么是 CI/CD 呢,网上的解释不要太多,这里我就直接放一幅 Gitlab 官网的工作流程图好了: 准备条件 Gitlab runner .gitlab-ci.yml Gitlab runner Gitlab runner 是整个 CI/CD 的执行器,它是执行你写的 .gitlab-ci.yml 文件的虚…
Gitlab CI/CD 前言 纵观人类历史的发展以及三次工业革命,你会发现利用机器来替代部分人力劳动,将重复的工作自动化从而解放生产力都是发展的必然趋势,在软件工程领域也不例外,其中 CI/CD 就是其中一项,那么什么是 CI/CD 呢,网上的解释不要太多,这里我就直接放一幅 Gitlab 官网的工作流程图好了: 准备条件 Gitlab runner .gitlab-ci.yml Gitlab runner Gitlab runner 是整个 CI/CD 的执行器,它是执行你写的 .gitla…