centos7下使用gitlab+redmine+jenkins

持续集成之jenkins实践教程:基础篇(4): 集成redmine 作为持续集成的利器Jenkins已经得到了广泛地应用,仅仅作为一个工具,Jenkins已然了了自己的生态圈,支持其的plugin更是超过1300+。在实际中如何使用以及如何更好地使用jenkins,一直是大家在实践并讨论的。本系列文章将会从如何使用jenkins方面对一些细节进行总结和整理,这篇文章将会介绍如何在Jenkins中实现与redmine的集成 阅读详情

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-tools

yum install curl openssh-server

curl 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.gz
  tar zxvf redmine-3.1.0.tar.gz
  mv redmine-3.1.0 /usr/local/redmine
  cd /usr/local/redmine/config
  cp 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: :smtp
  smtp_settings:
    address: "smtp.exmail.qq.com"
    port: 25
    authentication: :plain
    domain: '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,如收到邮件则是配置成功了。

如何自动刷新Redmine的版本库 1. 故事背景 Redmine项目关联版本库之后,在svn中提交,不会触发Redmine读取新的commit信息,只有刷新了“版本库”页面才会触发Redmine读取svn。 1.1. Redmine刷新版本库的外部接口 Redmine提供了刷新版本库的外部接口,参见: “HowTo setup automatic refresh of repositories in Redmine on ... 阅读详情

相关推荐

MTK平台TP驱动设备树与GPIO配置实战解析

本文详细解析了MTK平台TP驱动开发中的设备树与GPIO配置实战。通过DCT工具配置GPIO引脚,结合设备树节点定义触摸参数,并分享驱动移植、编译调试技巧及常见问题解决方案,帮助开发者快速掌握MTK触摸驱动开发核心。

ice55的博客 201

redmine-actions-plugin:Jenkins 插件,用于与 Redmine 集成的构建步骤

Jenkins Redmine 操作插件 描述 Jenkins 插件,用于与 Redmine 集成的构建步骤。 手动安装 克隆这个 repo。 将我的分叉构建并安装到您的 Maven 本地存储库中。 运行mvn clean package 。 在 Web 浏览器中转到 Jenkins。 点击“管理Jenkins” ,选择“管理插件” 。 单击“高级”选项卡,然后在“上传插件”部分下上传文件target/redmine-actions.hpi 。

主流 AI 插件 之一的 Copilot 介绍

Copilot 是微软推出的一款人工智能助手,旨在通过自然语言交互帮助您提升工作效率和创造力,覆盖多平台,提供智能问答、内容生成、代码辅助等功能。其核心定位为“日常 AI 伴侣”,旨在通过自然语言交互提升工作与生活效率。

u014695938的博客 6623

redmine的500错误解决办法

在打开一些功能,如活动,文档等,时候出现如下错误: --------------------------------------- Internal error An error occurred on the page you were trying to access. If you continue to experience problems please contact your re...

wangunix 2495

redmine internal error 500

遇到这个错误首先上服务器查看日志,查到 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 说明是mysql的错误 百度一下,有很多方案,最终尝试以下方案成功解决 第一步,查找mysql进程号 ps -A |grep -i mysql 第二步,kill 所有my

danny35的专栏 5258

Jenkins+Maven+SVN+Nexus 搭建持续集成环境

摘要Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有。Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkinsjenkins在功能上远远超过hudsonJenkins+Maven+SVN+Nexus 搭...

weixin_34110749的博客 223

CentOS7下搭建Gitlab

gitlab是一个基于git实现的在线代码仓库托管软件,一般用于在企业、学校等内部网络搭建专属git仓库,越来越多的企业在使用gitlab作为项目托管仓库。 一、安装配置依赖 1、安装启动ssh服务 sudo yum install -y curl policycoreutils-python openssh-server #安装ssh sudo systemctl enable ss...

星空的风fly 2942

测试管理工具选型指南:从需求闭环到DevOps集成,提升软件质量与协作效率

在软件工程领域,测试管理是保障产品质量的关键环节,其核心在于构建从需求、用例到缺陷的完整追溯闭环。这一闭环通过结构化流程管理,将测试活动从被动响应转变为主动规划,实现过程可控。其技术价值在于提升测试资产复用率、增强团队协作效率,并为质量度量提供数据基础。在应用场景上,无论是敏捷迭代还是DevOps持续交付,测试管理工具都能与Jira、Jenkins等主流工具链深度集成,实现自动化测试结果同步与实时质量反馈。本文聚焦于如何通过引入合适的测试管理工具,解决测试用例复用、缺陷跟踪与测试进度可视化等常见工程痛点,从

weixin_30905133的博客 437

Redmine出现500 Internal error错误

上次部署完Redmine,登陆后,进入个人页面或设置中,就会提示500 Internal error错误:Internalerror Anerroroccurredonthepageyouweretryingtoaccess. IfyoucontinuetoexperienceproblemspleasecontactyourRedmi...

weixin_34187822的博客 2829

小团队开发管理工具:gitlab+redmine+testlink+jenkins

由于工作需要,需要为团队搭建一个高效可用的开发管理平台。现在可用的开发管理工具很多开源的、商业的,网上也有很多博客和文章。经过2周的学习比较,再结合自己的项目特点,最后选定工具集:gitlab+redmine+testlink+jenkins。 项目管理和bug跟踪工具:redmine。整个项目组一直使用的管理工具,这次只是做了升级(2.4.0) 代码管理工具:gitlab。原有的代码管理使用

Three的专栏 2万+

Redmine使用过程中碰到的相关问题及解决方法

1、在redmine部署某些插件后执行下面操作时: [code="java"]rake db:migrate:plugins RAILS_ENV=production[/code] 出现如下错误提示: [code="java"]rake aborted! Access denied for user ’bitnami’@’localhost’ to database ‘redmine_de...

938

problem- redmine_ldap_sync error:"Internal error505"

log: ldap 用户认证登录log: web log----   Internal error  505 $ tail -f apps/redmine/htdocs/log/production.log Processing SettingsController#plugin (for 1x.x6.xx.x0 at 2012-11-23 11:49:29) [GET]  Pa...

chineping 307

Redmine+Apache+SVN+Jenkins+MAVEN搭建持续集成环境

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33831673的博客 271

bitnami redmine报错:Your application is not available

重启服务器后报错解决: 在修改过程中多次重启服务器,有如下报错,是因为服务没有起来。 解决方法: 此电脑-管理-服务和应用程序-服务,可以找到四个跟redmine相关的服务。经过测试,服务redmine Thin2没有启动会导致这个错误。 redmine正常启动时, 这四个服务都是在正在运行状态,这里为了寻找关联性我把Thin1停了,目前也没有发现有什么问题,为避免以后有什么坑,还是先开着吧。 ...

长期关注AI发展路径、技术价值转化与系统性落地。 4768

Jenkins + JMeter + Redmine 完成DevOps

DevOps实现 简介 DevOps的实现思路有很多,我选用开源免费的插件做的解决方案,大体流程如下: 流程 Jenkins脚本编译GitLab工程,并自动发布 待更新 Jenkins调用SonarQube代码检测,并导出报告 待更新 Jenkins执行JMeter脚本 脚本执行JMeter,并生成报告 JMeter 生成HTML测试报告 通过Redmine Rest API 创建Issue ...

Genius only means hard-working all one's life. 1417

基于jenkins+gitlab+redmine构建持续集成环境(一)

用途说明: jenkins:用于自动化测试构建发布 gitlab:作为代码托管服务 redmine:作为项目管理和bug管理,通过jenkins整合redmine实现自动化发布提醒 系列文章只针对jenkins自身使用做详细介绍,gitlab/redmine使用bitnami stacks一键部署(https://bitnami.com/stack/gitlab、https://bitn

wang_quan_li的专栏 2387

团队开发利器Redmine,git,gerrit,jenkins

Redmine:项目管理工具 git:源代码管理工具(可以配合gitolite服务器) gerrit:代码审查工具(配合git-review使用更方便) jenkins:持续集成工具(需配合gerrit trigger使用) ldap作为redmine、gerrit、jenkins权限管理机制

信号处理总结 6394

redminejenkins完美集成方案

实现功能: 当redmine中某个版本相关任务完成

weiguang1017的专栏 7104

成都信息工程大学《模拟电子技术A》期末试卷及答案2021-2024学年AB卷6套

成都信息工程大学《模拟电子技术A》期末试卷及答案2021-2024学年AB卷6套

上一篇: 使用Docker来搭建gitlab(备份)
下一篇: Ubuntu使用docker安装redmine
SQZHAO
博客等级 码龄24年 181粉丝 76原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值