由于公司发布预览版比较麻烦,于是准备使用 jenkins + gitlab 做一个自动化部署的工具,这里记录一下在公司本地 CentOS 服务器上安装 Jenkins 和 gitlab。

配置 java 环境

下载 jdk 和 maven 到指定文件并做如下配置

/etc/profile 配置文件添加:

  1. /home/jdk/jdk1.8.0_171/bin
  2. /home/maven/apache-maven-3.5.3/bin
  3. export JAVA_HOME=/home/jdk/jdk1.8.0_171
  4. export CLASSPATH=$JAVA_HOME/lib/
  5. export PATH=$PATH:$JAVA_HOME/bin
  6. export PATH JAVA_HOME CLASSPATH
  7. export MAVEN_HOME=/home/maven/apache-maven-3.5.3
  8. export PATH=$MAVEN_HOME/bin:$PATH

配置立即生效$source /etc/profile

安装 Docker

$curl -fsSL https://get.docker.com/ | sh

配置 Docker 镜像加速器

修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器

  1. mkdir -p /etc/docker
  2. tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["your mirror url"]
  5. }
  6. EOF

docker 一些基本命令:

systemctl start docker

systemctl status docker

systemctl enable docker

systemctl daemon-reload

systemctl restart docker

通过 docker 安装 gitlab

  1. docker run --detach \
  2. --hostname 192.168.1.10 \
  3. --publish 444:443 --publish 93:80 --publish 23:22 \
  4. --name gitlab \
  5. --restart always \
  6. --volume /home/gitlab/config:/etc/gitlab \
  7. --volume /home/gitlab/logs:/var/log/gitlab \
  8. --volume /home/gitlab/data:/var/opt/gitlab \
  9. --volume /etc/localtime:/etc/localtime \
  10. gitlab/gitlab-ce:latest

80是web访问用的端口,22是ssh协议用的端口。

hostname 后面可以使用 IP 地址或者 localhost(仅本机测试使用。

--volume 一定要注意本机的路径是否有权限,如果没有给 docker 访问权限是不可以运行的。

docker exec -it gitlab /bin/bash

编辑/etc/gitlab/gitlab.rb文件,这是Gitlab的全局配置文件。所有选项都可以在这里配置。

当gitlab服务器ssh端口不是默认的22时,使用ssh连接gitlab会出现错误,需要对端口进行配置。

  1. # 配置http协议所使用的访问地址
  2. external_url 'http://192.168.1.10’
  3. # 配置ssh协议所使用的访问地址和端口
  4. gitlab_rails['gitlab_ssh_host'] = '192.168.1.10'
  5. gitlab_rails['gitlab_shell_ssh_port'] = 93

sudo gitlab-ctl reconfigure 执行重新载入配置文件

安装 jenkins

jenkins 可以以 war 文件,本机包,安装程序和 Docker 容器的形式分发,这里我选择的是以 war 文件的方式运行 jenkins。

访问 https://jenkins.io 下载 jenkins.war,通过 war 包的方式启动 jenkins。

  1. nohup java -jar jenkins.war -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 &

timeOut 是一个超时时间配置,可以有效解决从 gitlab 拉取代码时超时的情况(有时候网络不是很好,拉取最新的代码时间可能比较长)。

本文由个人 hexo 博客 co2fe.com 迁移

date: 2018-09-10 11:27:40

gitlab-jenkins安装的更多相关文章

  1. jenkins(1): jenkins安装以及从gitlab拉取代码

    1. gitlab前面已经写过了,自己去参考 https://www.cnblogs.com/yitianyouyitian/p/9214940.html 2. jenkins安装 2.1 jdk 安 ...

  2. 局域网内利用gitlab,jenkins自动生成gitbook并发布(nginx)

    安装了GitBook,内网使用,没法用上gitbook的网页. 用gitbook serve只能展示一本书,而且也不利于长期维护. 于是使用gitlab,jenkins,和nginx配合gitbook ...

  3. 第四十三章 微服务CICD(5)- gitlab + jenkins + docker + dockerregsitry

    一.总体流程 部署: 开发机(mac) ip:11.11.11.11 docker:1.12.1 部署机(centos7) ip:10.211.55.4 docker:1.12.3 生产机(cento ...

  4. Gitlab的安装及项目新建

    1. Gitlab的安装及仓库创建 1.1下载gitlab安装包 1).官网下载速度较慢 建议先行下载 国内的源里面可以找到最新的版本https://mirrors.tuna.tsinghua.edu ...

  5. CentOS 7 Gitlab+Jenkins持续集成+自动化部署

    基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...

  6. gitlab+jenkins+tomcat CI/CD 部署

    整个项目的框架为: gitlab的安装与使用(Centos7) gitlab的安装 新建yum源 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] nam ...

  7. gitlab+jenkins+tomcat war包部署(此文有新版本)

    对本文进行格式整理,url: https://www.cnblogs.com/huandada/p/9969234.html 整个项目的框架为: 1.gitlab的安装(Centos7) 新建/etc ...

  8. docker+gitlab的安装和迁移

     docker+gitlab的安装 docker search gitlab docker pull docker.io/gitlab/gitlab-ce docker run --name=: -- ...

  9. jenkins安装及配置-centos6.9

    Jenkins安装及配置 目录 1.安装java. 2 1.1安装说明... 2 1.2创建java目录... 2 1.3下载并解压... 2 1.4设置环境变量... 2 1.5验证JDK有效性.. ...

  10. 自动代码质量分析(GitLab+JenKins+SonarQube)

    自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...

随机推荐

  1. jquery插件:aotocomplete

    aotocomplete.js http://blog.csdn.net/smeyou/article/details/7980273?_t_t_t=0.3565731019350138 $(func ...

  2. Android插件化开发,初入殿堂

    好久没有写博客了,这次准备写写我这几天的研究成果--Android插件化开发框架CJFrameForAndroid. 好久没有写博客了,这次准备写写我这几天的研究成果--Android插件化开发框架C ...

  3. MySQL 字符编码总结

    今天操作服务器数据库时遇到了Mysql中文字符乱码的问题,主要原因是因为安装的时候没有设置好字符集. 很是郁闷,因为库里有很多重要数据,所以重装是不可能了,于是决定找找在不重装且不改代码的前提下,能搞 ...

  4. Jenkins与Docker相关的Plugin使用

    原文地址:http://blog.csdn.net/ztsinghua/article/details/52128140 Jenkins与Docker相关的Plugin 在Jenkins Plugin ...

  5. Ffmpeg 探测输入源类型

    本文主要记录ffmpeg探测输入源的几个点,方便以后查阅代码.虽然项目时间很赶,还是找个时间做个记录, 好记性不如不如备忘录,时间久了终是会忘记.Ffmpeg版本为4.0.2,版本很重要,Ffmpeg ...

  6. angular中通过CSS使下拉列表默认值变灰

    angular版本:angular5 先看效果图: drop down的样式是我用CSS样式控制的,没有用插件.想要改变Drop Down List里的默认值的颜色,我的思路是这样的. 在<se ...

  7. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  8. Windows 清除系统垃圾文件

    @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._m ...

  9. linux查看mysql运行日志

    在命令行输入下面命令就可以了,如果看到报错的话,直接copy去谷歌就OK: [root@localhost /]# vim /var/log/mysqld.log

  10. PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor差别

    一.显式cursor 显式是相对与隐式cursor而言的,就是有一个明白的声明的cursor.显式游标的声明类似例如以下(具体的语法參加plsql ref doc ): cursor cursor_n ...