centos7下使用gitlab+redmine+jenkins

2024-01-28 10:32

本文主要是介绍centos7下使用gitlab+redmine+jenkins,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

gitlab比svn好用,准备使用gitlab+redmine,把代码往gitlab迁移. 
机器ip 192.168.1.146 
系统 centos 7.1

一.gitlab安装

这次使用的是yum的安装方式,编译安装还没尝试。
安装步骤 https://about.gitlab.com/downloads/
官方文档 http://doc.gitlab.com/omnibus/关闭selinux,postfix可以不用
yum install -y vim unzip curl curl-devel wget gcc gcc-c++ openssl openssl-devel openssh openssh-clients dovecot tree telnet lrzsz net-toolsyum install curl openssh-servercurl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce -y
#这里看网络情况,可能会要点时间,安装完成后,gitlab就可以用了。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

启动gitlab 
gitlab-ctl reconfigure 
打开浏览器,输入http://ip,用户名root,密码5iveL!fe

二.gitlab配置

1.邮件发送配置 
用户注册后,默认配置是需要邮箱验证,sendmail基本发送不成功,改用gitlab的smtp发送,以腾讯企业邮箱为列

vi /etc/gitlab/gitlab.rb
#更改为如下
external_url 'http://本地的ip地址'
gitlab_rails['smtp_enable'] = true  
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"  
gitlab_rails['smtp_port'] = 25  
gitlab_rails['smtp_user_name'] = "发送邮件的帐号"  
gitlab_rails['smtp_password'] = "发送邮件帐号的密码"  
gitlab_rails['smtp_domain'] = "smtp.qq.com"  
gitlab_rails['smtp_authentication'] = :plain  
gitlab_rails['smtp_enable_starttls_auto'] = true  gitlab_rails['gitlab_email_from'] = "与发送邮件的帐号相同"  
user["git_user_email"] = "与发送邮件的帐号相同" 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

修改完成后,重新加载配置 
gitlab-ctl reconfigure

2.整合issue到redmine 
在project的设置中,选择service,再选择redmine,配置如下: 
这里写图片描述

3.更改仓库存储路径 
gitlab默认的仓库路径是/var/opt/gitlab/Git-data/repositories,一般服务器上/var的空间不是很足,所以要把仓库配置到其他路径,比如我要改为/mnt/nas/git-data,修改方法如下: 
如果是刚安装好gitlab,还没开始使用,修改配置即可:

vi /etc/gitlab/gitlab.rb
找到git_data_dir选项,去掉注释,修改后面的路径为/mnt/nas/git-data,保存退出,并重新加载配置
gitlab-ctl reconfigure
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

如果已经在使用了,要修改配置时,按如下步骤

先停止gitlab
gitlab-ctl stop
将旧路径上的数据同步到新路径上
rsync -av /var/opt/gitlab/git-data/repositories /mnt/nas/git-data/
修改/etc/gitlab/gitlab.rb中的配置,方法如上
vi /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure
最后再启动gitlab
gitlab-ctl start
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4.ssh keys 
在gitlab中,有两个ssh keys: 用户的和deploy keys,一个key不能同时用在这两个地方。 
deploy keys只有读的权限 
具体信息查看 
http://doc.gitlab.com/ce/ssh/README.html

5.备份和还原 
http://segmentfault.com/a/1190000002439923 
备份

gitlab-rake gitlab:backup:create
  • 1
  • 1

这个命令默认会在/var/opt/gitlab/backups的目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包 
通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'
  • 1
  • 1

还可以在crontab中加入命令,自动备份

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
  • 1
  • 1

还原

# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq**# 从1393513186编号备份中恢复,这里注意,还原包要放在gitlab配置的路径里,不然会报: The specified backup doesn't exist!
#gitlab的默认配置如下
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#所以要把备份文件放到/var/opt/gitlab/backups里,执行如下命令.后面的编号是备份文件名的那一串数字,另外要注意的是,gitlab的版本号要一致**
gitlab-rake gitlab:backup:restore BACKUP=1393513186# 启动Gitlab
sudo gitlab-ctl start
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

三.redmine安装及配置

原生的redmine安装相对麻烦些,可以用下一键安装程序,https://bitnami.com/stack/redmine 
这里使用原生的安装方式 
中文文档 
http://www.redmine.org.cn/index.php/news/v_16_33.html 
英文文档 
http://www.redmine.org/projects/redmine/wiki/Install_Redmine_25x_on_Centos_65_complete

1.安装ruby及其他组件

yum -y install gcc mysql-devel ruby-devel rubygems mysql-server
gem install bundler
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config
yum -y install php php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-soap
yum -y install nano zip unzip libyaml-devel zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc ruby-devel gcc-c++ make postgresql-devel ImageMagick-devel sqlite-devel perl-LDAP mod_perl perl-Digest-SHA
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

2.下载redmine,修改配置

 wget http://www.redmine.org/releases/redmine-3.1.0.tar.gztar zxvf redmine-3.1.0.tar.gzmv redmine-3.1.0 /usr/local/redminecd /usr/local/redmine/configcp database.yml.example database.yml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

这里注意下版本,centos6,centos7的ruby版本不一致,redmine的版本也要对应 
http://www.redmine.org/projects/redmine/wiki/RedmineInstall

一般centos6用2.6 
http://www.redmine.org/releases/redmine-2.6.10.tar.gz

修改数据库参数

vi database.yml
production:
adapter: mysql2
database:redmine      
host: localhost
username: redmineuser
password: redminepw
encoding: utf8
保存退出:wq
这里注意下,adapter不用改,production运行方式,如果想以development运行,则对应development的数据库配置也修改下,test同理
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.更改为toabao的ruby镜像 
ruby默认镜像在国内很难访问,可以挂vpn,但taobao也提供了镜像,速度很快 
参考连接 http://ruby.taobao.org/

bundle config mirror.https://rubygems.org https://ruby.taobao.org
gem update 
  • 1
  • 2
  • 1
  • 2

4.安装ImageMagick 
在bundle install时,会依赖ImageMagick.pc,需要先安装好

wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.7.8-3
./configure
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5.bundle install 
文档中只安装了Rake和Rails,但在初始redmine时,遇到了些问题,索性就全都安装了.

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd /usr/local/redmine/
bundle install
在执行的过程中,如安装某个组件遇到错误时,先执行
bundle config 该组件名称 --use-system-libraries,
再执行bundle install
如build.nokogiri安装错误
bundle config build.nokogiri --use-system-libraries
bundle install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

安装apache2-module

gem install passenger
passenger-install-apache2-module 
这里一路回车
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

6.初始化环境,并启动redmine

cd /usr/local/redmine/config
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
以production启动
cd /usr/local/redmine/script
rails s -b 192.168.1.146  webrick -e production
如正常启动,按ctrl + c退出,重新启动为守护进程
rails s -b 192.168.1.146  webrick -e production -d
打开浏览器,输入192.168.1.146:3000
用户名密码默认admin
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如果访问出现500错误,看redmine的日志,假如提示: 
Incorrect location of secret_token in the error message,可尝试执行如下命令: 
bundle exec rake generate_secret_token 
之后再重启redmine

7.配置redmine邮件功能

在/usr/local/redmine/config下新建一个文件email.yml,内容如下:

production:delivery_method: :smtpsmtp_settings:address: "smtp.exmail.qq.com"port: 25authentication: :plaindomain: 'smtp.qq.com'user_name: 'redmine@xxx'password: 'xxx'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

四.jenkins配置

1.获取gitlab

比较简单,在jenkins配置即可: 
选择系统管理 -> 系统设置 -> 找到git项,在Path to Git executable 这一项中填入git命令的路径,比如/usr/local/bin/git 
在jenkins安装几个插件: GIT client plugin ,GIT plugin,GitLab Plugin 
以上两步完成后,进入相应的jenkins项目,选择配置,找到源码管理,选择git,填入gitlab的http路径,对应的用户名和密码

2.配置jenkin邮件

首先安装一个插件email-ext,下载地址 
http://updates.jenkins-ci.org/download/plugins/email-ext/ 
如果高版本安装不上,就降低版本安装。 
选择系统管理 -> 系统设置,找到Jenkins URL,在System Admin e-mail address中填入邮箱地址 
找到E-mail Notification选项,设置如下 
这里写图片描述
勾选通过发送测试邮件测试设置,填入收件人邮箱,点击Test configuration,如收到邮件则是配置成功了。

这篇关于centos7下使用gitlab+redmine+jenkins的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653372

相关文章

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增