一.环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目:这里示例项目以 Spring Boot 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频繁可适当用一些业务机器进行 Build:本文示例所有组件将采用 Docker 启动, GitLab HA 等不在本文阐述范围内 Docker Version : 1.13.1 GitLab Version : 10.1.4-ce.0 GitLab Runner Version : 10.1.0 Gi…
之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都可以哈,我这里使用的官方的,想自己搭建的同学可以参考下这篇,使用Docker搭建GitLab: https://www.imooc.com/article/23168 有了GitLab之后我们还需要自己安装部署GitLab Runner,GitLabRunner是用来拉取GitLab仓库的代码,并根…
GitLab CI + Docker 实现持续集成 一.持续集成(Continuous Integration, CI)的基本概念 概述 在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后在项目即将结束进行时,而这往往会花费大量的时间和精力.而持续集成是一种将集成阶段放在软件开发阶段的做法,以便更加有规律地构建,测试和集成代码. "持续集成并不能消除 Bug,而是让它们非常容易发现和改正." 持续集成可以在开发人员提交了新代码后,立刻进行构建.单元测试.从而我们可以根据测试…
前言:因为找了B站内推,测试开发,正好知道内部使用GitLab做自动化测试,所以简单学了一下,有错误的地方请指正. 入门 初始化 cp: 无法获取'/root/node-v12.9.0-linux-x64' 的文件状态(stat): 权限不够 原因:源地址或目标地址有问题 E212:无法打开并写入文件 原因:权限不够;解决:从root权限终端打开sudo su 安装启动Nginx: # 启动 nginx # 停止 nginx stop # 安全退出 nginx -s quit # 重新加载配置文…
Jenkins 使用Jenkins的话,完成的工作主要有如下步骤: 1.从Gogs或Gitlab仓库上拉取代码 2.使用Maven编译代码,打包成jar文件 3.根据jar文件使用相对应的Dockerfile文件制作成Docker镜像 4.把Docker镜像推送到Nexus上的Docker仓库(或者Harbor仓库) 5.运行shell脚本,给k8s的master主机上执行更新pod的脚本命令 (这一步不想自动实现的话可以采取手动操作) 前四步的操作: 地址:https://www.cnblog…
前言 在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD). 本文基于Jenkins+Docker+Git\Svn实现一套CI自动化发布流程,同时支持撤回. 一.发布流程设计 工作流程: 开发人员提交代码到Git或Svn版本仓库: Jenkins人工/定时触发项目构建: Jenkins拉取代码.代码编码.打包镜像.推送到镜像仓库: Jenkins在Docker主机创建容器并发布. 二.环境设计 1.…
CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的风险. 这有三种主要方法,每种方法都根据最适合您的策略进行应用. 持续集成(Continuous Integration, 简称CI) 考虑一个应用程序,其代码存储在GitLab中的Git存储库中.开发人员每天多次推送代码更改.…
前言 写代码这项工作,本质就是将工作自动化,减少手工操作提供效率,因为人的本质都是懒狗,程序员也不能例外,为了各种意义的效率提升(懒),我们需要持续集成工具,将代码测试.编译.发布这些重复性很高的工作,全部变成自动化,减轻工作量,提高效率,解放生产力,为华夏伟大复兴贡献力量 说回正题,持续集成工具主流的就 Jenkins .Gitlab CI/CD 这些,因为我们刚好在用 Gitlab,所以就不去折腾 Jenkins 了,直接用这个好了~ 关于 Gitlab 的安装,可以参考我之前写的文章:Gi…
GitLab CI/CD持续设置 官方文档地址(https://docs.gitlab.com/ee/ci/README.html) GitLab CI.CD功能非常完善,只需要简单几步,就可以完成项目的持续集成和部署. 你需要准备的是: 1. 准备一个可以执行测试的服务器 2. 注册gitlab-ci-runner到项目 3. 配置CI执行策略,tag触发,还是每个commit都执行 4. 编写.gitlab-ci.yml文件,编写需要自动执行不命令即可 然后提交一个commit尝试下,如果没…
简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成. 而且随着 GitLab 的升级,GitLab CI 变得越来越强大,本文将介绍如何使用 GitLab CI 进行持续集成. 一些概念 在介绍 GitLab CI 之前,我们先看看一些持续集成相关的概念. Pipeline 一次 Pipeline 其实相当于一次构建任务,里面可以包含多个流程,如安装依…