Centos7 gitlab和jenkin持续部署之预环境部署安装

第一部分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

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
    Centos7 gitlab和jenkin持续部署之预环境部署安装_第1张图片

6.配置免密码登录

客户端命令行生成ssh

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

拷贝到User Settings>SSH Keys中就行。如下图:
Centos7 gitlab和jenkin持续部署之预环境部署安装_第2张图片
Centos7 gitlab和jenkin持续部署之预环境部署安装_第3张图片

第二部分jenkins

jenkins介绍

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

自动化部署流程图:

Centos7 gitlab和jenkin持续部署之预环境部署安装_第4张图片

什么是持续集成?

  • 持续集成(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,这里我选择的是8u231版本

Centos7 gitlab和jenkin持续部署之预环境部署安装_第5张图片
注意:一定要登录Oracle用户以及选择图片中的accept license agreement选项,不然的话需要license授权才可以下载

下载到本地之后文件名:jdk-8u231-linux-x64.tar.gz

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
Centos7 gitlab和jenkin持续部署之预环境部署安装

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

Centos7 gitlab和jenkin持续部署之预环境部署安装_第6张图片
看到上方状态说明启动成功。 访问jenkins: http://ip:xxxx 端口就能启动jenkins。
Centos7 gitlab和jenkin持续部署之预环境部署安装_第7张图片