GitLab CI + Docker 实现持续集成 一.持续集成(Continuous Integration, CI)的基本概念 概述 在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后在项目即将结束进行时,而这往往会花费大量的时间和精力.而持续集成是一种将集成阶段放在软件开发阶段的做法,以便更加有规律地构建,测试和集成代码. "持续集成并不能消除 Bug,而是让它们非常容易发现和改正." 持续集成可以在开发人员提交了新代码后,立刻进行构建.单元测试.从而我们可以根据测试…
简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成. 而且随着 GitLab 的升级,GitLab CI 变得越来越强大,本文将介绍如何使用 GitLab CI 进行持续集成. 一些概念 在介绍 GitLab CI 之前,我们先看看一些持续集成相关的概念. Pipeline 一次 Pipeline 其实相当于一次构建任务,里面可以包含多个流程,如安装依…
CI / CD /CD 持续集成 持续交付 持续部署 CI CD 是啥?干了啥? CI continuous integration 持续集成 CD continuous delivery 持续交付 CD continuous deploy 持续部署 他们干了点啥 代码自动building 测试环境和项目的自动部署 生产环境和项目的自动部署 恩恩 都是这些 和 管理工作 ** 因为是自动化的 可以在你合并代码后几分钟就开始测试 ** 流程: 用户提交代码到仓库 ->合并代码 -> 自动编译代码…
前言 如果你手动部署过项目,一定会深感持续集成的必要性,因为手动部署实在又繁琐又耗时,虽然部署流程基本固定,依然容易出错. 如果你很熟悉持续集成,一定会同意这样的观点:"使用它已经成为一种标配". 什么是持续集成 Continuous Integration(CI) is a development practice that requires developers to integrate code into a shared repository several times a d…
目前在学习这一块的内容,但是可能每个人环境都不同,导致找不到一篇博客能够完全操作下来没有错误的,所以自己也写一下,记录一下整个搭建的过程. Docker 的安装这里就不赘述了,基本上几行命令都可以了,不会的可以搜一下其他的博客.我本地使用的环境如下: Ubuntu16.04 Docker19.03 管理工具:IDEA Docker 插件 下面详细讲一下部署的过程. 前言 阅读这篇博客的朋友关注点应该在 Gitlab CI 上,因此假设大家对 Docker 和 Gitlab 本身是有一定的了解,掌…
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后,DevOps.CI/CD 等运维关键问题才有了质的飞跃:实现资源的动态创建和销毁,更轻量的容器技术既能保证环境一致性也能进一步提高迭代频率,各种容器平台也能更好地保证应用高可用.自动伸缩.业务连续等等. 今天将跟大家分享支撑双十一的容器镜像仓库 ACR,以及它是如何实现搭配 IDE 插件和 CIC…
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后,DevOps.CI/CD 等运维关键问题才有了质的飞跃:实现资源的动态创建和销毁,更轻量的容器技术既能保证环境一致性也能进一步提高迭代频率,各种容器平台也能更好地保证应用高可用.自动伸缩.业务连续等等. 今天将跟大家分享支撑双十一的容器镜像服务 ACR,以及它是如何实现搭配 IDE 插件和 CIC…
写在前面 记录一下,一个自动化开发部署项目的构建过程与简单使用,实现真正的DevOps gitlab安装 步骤一:安装依赖 yum -y install git gcc glibc-static telnet yum -y install curl policycoreutils-python openssh-server systemctl enable sshd systemctl start sshd yum -y install postfix ystemctl enable postf…
Gitlab-Ci运行原理: 由以下两个模块组成gitlab-ci servergitlab-ci-runner其中,gitlab-ci server负责调度.触发Runner,以及获取返回结果. 而gitlab-ci-runner则是主要负责来跑自动化CI(测试,编译,打包等). 基本流程是: 用户提交代码->检查是否有.gitlab-ci.yml文件->如果无,则结束:-> 如果有,则调用runner执行脚本->获取返回的结果. 1. 登录Gitlab前提: gitlab 已经…
参考原档:https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md#using-https 本章只写重要的 Gitlab安装包括设置一下组件: Packages / Dependencies Ruby Go Node System Users Database Redis GitLab Nginx 1. Packages / Dependencies(可有可无的更新) # run as root…