centos7下使用gitlab+redmine+jenkins
来源:互联网 发布:人工智能 听诊器 编辑:程序博客网 时间:2024/05/01 14:06
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 bashyum install gitlab-ce -y#这里看网络情况,可能会要点时间,安装完成后,gitlab就可以用了。
启动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"] = "与发送邮件的帐号相同"
修改完成后,重新加载配置
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
如果已经在使用了,要修改配置时,按如下步骤
先停止gitlabgitlab-ctl stop将旧路径上的数据同步到新路径上rsync -av /var/opt/gitlab/git-data/repositories /mnt/nas/git-data/修改/etc/gitlab/gitlab.rb中的配置,方法如上vi /etc/gitlab/gitlab.rbgitlab-ctl reconfigure最后再启动gitlabgitlab-ctl start
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
这个命令默认会在/var/opt/gitlab/backups的目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包
通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:
gitlab_rails['backup_path'] = '/mnt/backups'
还可以在crontab中加入命令,自动备份
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
还原
# 停止相关数据连接服务gitlab-ctl stop unicorngitlab-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# 启动Gitlabsudo gitlab-ctl start
三.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-servergem install bundlergem install -y mysql -- --with-mysql-config=/usr/bin/mysql_configyum -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-soapyum -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
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
这里注意下版本,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.ymlproduction:adapter: mysql2database:redmine host: localhostusername: redmineuserpassword: redminepwencoding: utf8保存退出:wq这里注意下,adapter不用改,production运行方式,如果想以development运行,则对应development的数据库配置也修改下,test同理
3.更改为toabao的ruby镜像
ruby默认镜像在国内很难访问,可以挂vpn,但taobao也提供了镜像,速度很快
参考连接 http://ruby.taobao.org/
bundle config mirror.https://rubygems.org https://ruby.taobao.orggem update
4.安装ImageMagick
在bundle install时,会依赖ImageMagick.pc,需要先安装好
wget http://www.imagemagick.org/download/ImageMagick.tar.gztar zxvf ImageMagick.tar.gzcd ImageMagick-6.7.8-3./configuremakemake install
5.bundle install
文档中只安装了Rake和Rails,但在初始redmine时,遇到了些问题,索性就全都安装了.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigcd /usr/local/redmine/bundle install在执行的过程中,如安装某个组件遇到错误时,先执行bundle config 该组件名称 --use-system-libraries,再执行bundle install如build.nokogiri安装错误bundle config build.nokogiri --use-system-librariesbundle install
安装apache2-module
gem install passengerpassenger-install-apache2-module 这里一路回车
6.初始化环境,并启动redmine
cd /usr/local/redmine/configRAILS_ENV=production rake db:migrateRAILS_ENV=production rake redmine:load_default_data以production启动cd /usr/local/redmine/scriptrails 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
如果访问出现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'
四.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
- centos7下使用gitlab+redmine+jenkins
- centos7下使用gitlab+redmine+jenkins
- CentOS7 环境下 Dokcer 部署 GitLab Maven jenkins
- LDAP + redmine + gerrit + jenkins + gitlab -- LDAP配置
- LDAP + redmine + gerrit + jenkins + gitlab -- 使用LAM(LDAP Account Manager)管理用户
- CentOS7下安装GitLab
- CentOS7下安装GitLab
- CentOS7下安装GitLab
- 小团队开发管理工具:gitlab+redmine+testlink+jenkins
- 软件项目管理平台:repo+gerrit+jenkins+gitlab+sonar+redmine
- 基于jenkins+gitlab+redmine构建持续集成环境(一)
- GitLab在CentOS7下LNMP环境的安装使用
- 使用Jenkins+gitlab自动化打包
- centos7下安装jenkins
- centos7下安装jenkins
- Centos7下Jenkins安装
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
- cocos3.0+ shader
- Spring Security password hashing example
- 如何将Mac OS X10.10.3下的Python2.7.6升级到最新的Python3.4
- 黑马学习笔记_java基础知识总结
- Android中dp,px,sp概念梳理以及如何做到屏幕适配
- centos7下使用gitlab+redmine+jenkins
- AdapterView(ListView)
- JAVA获取系统当前时间
- Android开发之AlarmManager的用法详解
- 2015——VLC编译
- 方法递归对性能的影响
- 头脑鲜活的程序猿,赚外快的新途径
- PHP操作MySql封装类
- Mysql按字段分组取最大值记录