参考:

https://blog.csdn.net/hxpjava1/article/details/78514999   (简单操作)

https://blog.csdn.net/wh211212/article/details/72627803  (详细操作)

https://www.cnblogs.com/cnundefined/p/7095368.html   (gitlab、gitlab-CI、runner的关系)

1、工程代码准备:
gitlab上新建root3组,新建print123工程,工程根目录下配置yml文件.gitlab-ci.yml

gitlab上新建gitlab-runner账号,建立和服务器的ssh免密登录。

2、yml文件(gitlab代码上):

stages:
- deploy
deploy:
stage: deploy
script:
- deploy root3 print123
only:
- master
tags:
- shell

  

3、在bin文件夹中定义deploy脚本文件(Linux上):解释:https://www.jianshu.com/p/df433633816b

#!/bin/bash
if [ $# -ne 2 ]
then
echo "arguments error!"
exit 1
else
deploy_path="/var/www/$1/$2"
if [ ! -d "$deploy_path" ]
then
project_path="git@10.2.3.4:"$1/$2".git"
git clone $project_path $deploy_path
else
cd $deploy_path
git pull
fi
fi

  

4、runner注册:

gitlab-ci-multi-runner register    #  注册一个新的runner

  

延伸:

gitlab-ci-multi-runner status
gitlab-ci-multi-runner stop
gitlab-ci-multi-runner start
gitlab-ci-multi-runner verify # 查看所有runner
gitlab-ci-multi-runner list # 查看所有runner
gitlab-runner verify --delete # 删除无效的runner

注册用到内容:

http://10.2.3.4:8881/         #  在gitlab上查询
Juyx-L5433amkQKSo2XQ # 在gitlab上查询
deploy_description5
shell # tags要和yml文件中的tags保持一致
true
回车

  

5、修改print123中的文件,push提交,在gitlab的pipeline中观察是否pass

gitlab自动化部署CI案例的更多相关文章

  1. GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

    预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署, ...

  2. Jenkins Ansible GitLab 自动化部署

    Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...

  3. Jenkins+maven+gitlab自动化部署之基础环境部署(一)

    从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...

  4. Jenkins+maven+gitlab自动化部署之gitLab搭建(二)

    Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4

  5. Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建

    实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...

  6. Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)

    Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...

  7. Jenkins+maven+gitlab自动化部署之前端构建发布(六)

    前端项目构建,需要在jenkins主机部署node服务,网上有说介绍说安装对应的nodejs插件进行前端项目构建,我这里是直接调用系统npm命令,进行前端打包.具体node部署参考:Centos7部署 ...

  8. Jenkins+maven+gitlab自动化部署之构建Java应用(五)

    前面几篇文章介绍jenkins部署以及配置,接下来我们,就介绍下如何使用jenkins发布应用. 1)新建项目 jenkins首页,点击左上新建任务,出现下图,填写对应信息,然后点击确定: 2)项目参 ...

  9. Jenkins+maven+gitlab自动化部署之Jenkins部署(三)

    本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...

随机推荐

  1. Lombok子类与父类的@Builder注解冲突

    解决方法之一:去掉父类的@builder 缺点:父类不能使用Builder构造器模式 来源:https://www.cnblogs.com/lori/p/10266508.html

  2. idea查看一个接口的子接口或实现类的快捷键

    ctrl+h 先选中类或接口,再按ctrl+h

  3. 剑指offer58:对称的二叉树。判断一颗二叉树是不是对称的,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的

    1 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 2 思路和方法 定义一种遍历算法,先遍历右子结点再遍历左子结点:如对称先序 ...

  4. python笔记007-函数

    昨日简要: 1.文件操作: 1.1获得句柄: f = open(‘one.txt’,mode=’’,encoding=’utf-8’) f = open(‘../’) à返回上一层 f = open( ...

  5. Django——关于项目开发遇到的一些小技巧

    目录 头像图片 js获取网站信息 js获取前端信息 Dj获取刚写入的数据的信息 js跳转新链接 头像图片对象的显示 在做到根据登陆ID决定用户头像的时候,加载静态文件的{% static ‘xxxxx ...

  6. MD5加密处理

    无论传送过程和存储方式,都是以明文的方式,很不安全!一旦泄漏,将会造成很大的损失! 插件名称jQuery.MD5.js: /** * jQuery MD5 hash algorithm functio ...

  7. C# SHA512和Base64加解密方法

    /// <summary> /// Get SHA512 Hash From String /// </summary> /// <param name="or ...

  8. 音视频入门-04-BMP图像四字节对齐的问题

    * 音视频入门文章目录 * BMP 图像四字节对齐 表示 BMP 位图中像素的位元是以行为单位对齐存储的,每一行的大小都向上取整为4字节(32 位 DWORD)的倍数.如果图像的高度大于 1,多个经过 ...

  9. hdu 6165

    虽然题解上说缩点然后判断入度就可以了,然后比赛的时候瞎暴力过了. #include <iostream> #include <cstring> #include <str ...

  10. 通俗化理解Spring3 IoC的原理和主要组件

      ♣什么是IoC? ♣通俗化理解IoC原理 ♣IoC好处 ♣工厂模式 ♣IoC的主要组件 ♣IoC的应用实例 ♣附:实例代码 1.什么是IoC(控制反转)? Spring3框架的核心是实现控制反转( ...