Centos7安装gitlab详细教程和自动化部署jenkin的安装

2,983 阅读2分钟

此文持续更新。。。

此为上篇:gitlab和jenkins的安装

如何使用且看下回分解

第一部分gitlab

前沿部分:gitlab安装分两个版本1.企业版gitlab-ee和2.社区gitlab-ce。区别就是社区版免费。这里讲的是社区版安装,企业版可做相应参考。

正题之前先来说说git的优点:

  • Git分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库。
  • Git分支和SVN的分支不同 分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。

GitLab介绍

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。

配置:建议CPU 2核,内存2G以上。

1. 安装依赖

sudo yum install curl policycoreutils openssh-server openssh-clients policycoreutils-python

sudo systemctl enable sshd

sudo systemctl start sshd

sudo yum install postfix

sudo systemctl enable postfix

sudo systemctl start postfix

注意:sudo systemctl start postfix 如果报错

Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details. 

修改 vi /etc/postfix/main.cf的设置

inet_protocols = all
inet_interfaces = all
即可解决

2. yum 配置镜像加速

官方源地址:https://about.gitlab.com/downloads/#centos6

清华大学镜像源 : https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce

vi /etc/yum.repos.d/gitlab_gitlab-ce.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

3. 更新本地云缓存

sudo yum makecache

4.安装

sudo yum install gitlab-ce

5.修改配置项

sudo vim /etc/gitlab/gitlab.rb  
#修改配置项
external_url:http://本机ip

sudo gitlab-ctl reconfigure        # 重新配置服务;

5.重启gitlab

gitlab-ctl restart

6.配置免密码登录

客户端命令行生成ssh

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub 

拷贝到User Settings>SSH Keys中就行。

** 常用指令**

sudo gitlab-ctl start    # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;nginx[‘listen_port’]
sudo gitlab-ctl restart        # 重启所有 gitlab 组件;
sudo gitlab-ctl status        # 查看服务状态;

注意: gitlab默认占用80端口,当端口被其他服务占用是需要进行第5步修改配置项中的nginx[‘listen_port’]字段。登陆初始默认密码是 5iveL!fe


第二部分jenkins

jenkins介绍

jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

自动化部署流程图:

什么是持续集成?

  • 持续集成(Continuous Integration,CI) 代码合并、构建、布署、测试在一起,不断执行这个过程并对结果进行反馈
  • 持续部署(Continuous Deloyment,CD) 部署到生产环境
  • 持续交付(Continuous Delivery,CD) 部署到生产环境,给用户使用
  • DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节

1.安装jenkins需要的java环境

(1)最好安装java8以上版本jdk

下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载时会提示Oracle 帐户登录没有的注册一下 根据自己操作系统选择对应的jdk

下载到本地之后文件名:jdk1.8.0_211.tar。

cd /usr/local/src
# 上传jdk1.8.0_211.tar只服务器此目录
#解压文件
tar -xzvf jdk1.8.0_211.tar.gz 
创建目录
mkdir /usr/java
解压文件拷贝
cp -r /usr/local/src/jdk1.8.0_211 /usr/java
ln -s /usr/java/jdk1.8.0_211/bin/java /usr/bin/java

(2)配置环境变量:

vi /etc/profile
#尾部添加下面内容
JAVA_HOME=/usr/java/jdk1.8.0_211
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

(3)配置文件生效

source /etc/profile
#环境变量生效
java -version

2.jenkins (1)安装

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install -y jenkins

(2)关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

(3)配置文件

 vi /etc/sysconfig/jenkins
 #修改下面内容
 JENKINS_USER="root"
 ...
 端口设置成为被占用的
 JENKINS_PORT="xxxx"

(4)启动jenkins

systemctl daemon-reload
systemctl start jenkins
systemctl status jenkins

看到上方状态说明启动成功。 访问jenkins: http://ip:xxxx 端口就能启动jenkins。