一、部署gitlab

  gitlab部署我采用的是docker的方式,这种方式的优势是方便;之前部署过非docker的gitlab,需要配置安装许多东西,太麻烦,还是docker部署方便,从官网pull下来,直接已启就ok了;

  官方gitlab容器链接:https://docs.gitlab.com/omnibus/docker/README.html

  1、export GITLAB_HOME=/usr/local/gitlab 先配置临时环境变量,这步可省略,但是第二步要写绝对路径;
  2、docker run --detach --publish 80:80 --hostname 192.168.31.120 --name gitlab --restart always --volume $GITLAB_HOME/config:/etc/gitlab --volume $GITLAB_HOME/logs:/var/log/gitlab --volume $GITLAB_HOME/data:/var/opt/gitlab gitlab/gitlab-ee:latest
  注意:
  1)、这个地方如果有域名就--hostname 指定域名(最好是能现网解析的域名),如果不指定则默认是容器的CONTAINER ID;并且在gitlab运行起来的时候,仓库地址会是CONTAINER ID;可以通过hosts绑定的方式,但是非常麻烦;
  2)、--hostname指定的name配置存放在gitlab.xml;第一次启动的时候我没有指定hostname,发现仓库地址是container id,本来想直接在配置文件中修改了,但是发现不生效,所以就重新启动了个容器;
  3)、端口映射最好也映射成80,我第一次映射的8080,每次clone地址的时候都需要将端口添加上;
  4)、如果没有域名的最好启动容器的时候直接将hostname写成ip地址,注意不要带非80端口(1.1.1.1:8080),否则,容器内部的端口就是8080,而非80;
  5)、只是在运行容器的时候我发现了这些问题,如果非容器启动gitlab;上述问题可以通过修改配置文件解决;

  3、创建组--->创建project--->创建用户

    gitlab用户组的5种权限:

      Guest:可以创建按issue,发表评论,不能读写版本库;

      Reporter:可以克隆代码,不能提交,QA/PM可以赋予这个权限;

      Developer:可以克隆代码,开发,提交,push,普通开发可以赋予这个权限;

      Maintainer:可以创建项目,添加tag,保护分支,添加项目成员,编辑项目,核心开发可以赋予这个权限;

      Owner:可以设置项目访问权限,删除项目,迁移项目,管理组成员,开发组长可以赋予这个权限;

二、idea向gitlab上传代码

  1、在vcs中开启git功能
  2、右击项目--->git--->commint Directory 提交代码到本地仓库
  3、右击项目--->git--->add--->(项目备注)
  4、右击项目--->git--->Repository--->Remotes 添加gitlab project地址,可以在gitlab上clone http地址;
  5、右击项目--->git--->Repository--->Push

三、jenkins连接gitlab

  1、安装jenkins
    1)、通过rpm包安装,大部分中文界面,但是版本不是最新的;(我采用的这种方式)
    2)、通过tomcat部署jenkins,可以从官网下最新的;
    3)、在部署jenkins的这台机器上安装java,(我用的1.8.0_211);
    4)、在部署jenkins的这台机器上安装git以及maven(从官网下最新版即可);

  2、配置jenkins

    1)、全局工具配置:系统管理(Manage Jenkins)--->全局工具配置(Global Tool Configuration)--->配置java/git/maven的路径

               

      java和maven都是工作路径,只有git的配置是git的可执行程序;

    2)、系统配置:系统管理(Manage Jenkins)--->系统配置(Configure System)--->全局属性--->勾选环境变量(Environment variables)

      

       其中JAVA_HOME/MAVEN_HOME的键可以定义,值都是工作目录;注意:PATH+EXTRA这是固定写法,值引用maven的键,定义maven的可执行文件的路径;该地方不配置在构建的时候会提示找不到mvn命令;

  3、创建jenkins任务并配置

      

     

      Credentials可以在jenkins任务配置的时候添加,也可以在系统管理(Manage Jenkins)--->Manage Credenials中添加全局域;这个地方我选择的是账户密码的方式,这地方的账户密码是gitlib中有 该项目权限的用户的账户密码;

    注意:分支的配置,要根据实际情况来配置,否则在构建的时候会报错;(Couldn`t find any revision to build,Verify the repository and branch configuration for this job);构建日志中会有体现;

  4、构建工程

    

    我总共构建了8次,失败了7次,可以点进去构建历史有日志看具体报错解决问题;

    查看构建日志:

    

   

gitlab+jenkins学习笔记的更多相关文章

  1. Jenkins 学习笔记

    Jenkins 的内容网站蛮多的,但是一开始我看起来确实很费劲.似乎好多东西都是悬空的,没有把底层的信息交代清楚. 我把自己对于 Jenkins 的探索过程记录下来,如下. 目录 Jenkins 学习 ...

  2. Gitlab+Jenkins学习目录

    Gitlab+Jenkins基础篇 Gitlab+Jenkins学习之路(一)之Git基础 Gitlab+Jenkins学习之路(二)之gitlab部署 Gitlab+Jenkins学习之路(三)之g ...

  3. Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份

    一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...

  4. Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布

    一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...

  5. Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布

    思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...

  6. Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat

    一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  7. jenkins学习笔记

    Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建.测试和部署等功能.本系列博客以 windows 10 环境为例 1 安装 ...

  8. Jenkins 学习笔记(三):我们的JAVA 项目是这么发布的

    发布拓扑 1. 拓扑图 2. 流程说明: Git 插件从 Git Server 上面拉取源代码. Maven 插件将源代码安装我们设定的指令进行编译打包,存放于项目的 WorkSpace. Publi ...

  9. Jenkins 学习笔记(二):很简单的发布一次

    发布思路:从 github 拉取一些文件,然后推送到 Target server 的某个目录. 准备 1. Jenkins 需要安装的插件:『 Publish over SSH 』 2. 全局配置:系 ...

随机推荐

  1. python+pytest接口自动化(16)-接口自动化项目中日志的使用 (使用loguru模块)

    通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用.在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题. 这篇文章我们使 ...

  2. vagrant,VirtualBox -- 安装使用

    1.安装Oracle VM VirtualBox下载 http://download.virtualbox.org/virtualbox/5.2.44/ 2.安装vagrant https://www ...

  3. DEDECMS登录后台,无法连接数据库的原因

    在CMS的网页模块中,当迁移网站出现后台无法登录的时候 最可能的情况有下列几种: 1. 数据库服务器宕机.如果是云上的数据库时,需要联系客服进行解决.是有自己的搭建的数据库,需要查看服务是否正常启动 ...

  4. 在Vmware虚拟机(win10)中安装逍遥安卓模拟器遇到的问题及解决办法

    0x00 下载正确的安装包 逍遥模拟器官网:逍遥安卓模拟器下载官网 (xyaz.cn) 为什么要强调下载正确的安装包? 因为我在第一次下载的时候就下错了,下的是 逍遥模拟器 - 电脑玩手游神器 (me ...

  5. Fail2ban 命令详解 fail2ban-client

    Fail2ban的客户端操作命令,用于控制服务端. root@ubuntu:~# fail2ban-client --help Usage: /usr/bin/fail2ban-client [OPT ...

  6. ACM 刷题记录

    HDU Multi-University Training Contest 题目来源 题目 知识点 时间复杂度 完成情况 2019 Contest8 A Acesrc and Cube Hyperne ...

  7. SPFA 最短路算法

    SPFA算法 1.什么是spfa算法? SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环.SPFA一般情况复杂度是O(m)O(m) ...

  8. php类精确验证身份证号码

    <?php // check class check{ // $num为身份证号码,$checkSex:1为男,2为女,不输入为不验证 public function checkIdentity ...

  9. numpy中的np.round()取整的功能和注意

    numpy中的np.round()取整的功能和注意 功能 np.round() 是对浮点数取整的一个函数,一般的形式为 np.round(a, b),其中a为待取整的浮点数,b为保留的小数点的位数 注 ...

  10. 22.LVS+Keepalived 高可用群集

    LVS+Keepalived 高可用群集 目录 LVS+Keepalived 高可用群集 keepalived工具介绍 Keepalived实现原理剖析 VRRP(虚拟路由冗余协议) VRRP 相关术 ...