GitLab + Jenkins 实现持续集成CI

 1 软件版本

2 基础环境安装

2.1 docker  安装

yum install -y docker-ce-20.10.16

 systemctl start docker && systemctl enable docker 

 docker version 

2.2 docker-compose 安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# chmod +x /usr/local/bin/docker-compose

验证命令是否安装成功

# docker-compose version 

2.3 java 安装

mkdir /usr/local/java && tar  -zxvf  jdk-8u211-linux-x64.tar.gz  -C /usr/local/java/

vim /etc/profile (添加如下配置)

export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

验证jdk 版本

[root@localhost ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2.4 Nodejs 安装

wget https://nodejs.org/download/release/v14.0.0/node-v14.0.0-linux-x64.tar.gz

tar xvf node-v14.0.0-linux-x64.tar.gz -C /usr/local/

cd /usr/local/ && mv node-v14.0.0-linux-x64 node

vim /etc/profile (添加如下配置)

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

2.5 maven安装

 wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz

# tar xvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/

# cd /usr/local/ && mv apache-maven-3.8.5 maven3

# vim /etc/profile (添加如下配置)

export M3_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M3_HOME/bin

2.6  gitlab安装

安装 Gitlab 所需组件

yum install -y curl policycoreutils openssh-server openssh-clients postfix policycoreutils-python

安装 Gitlab

wget  https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm

yum -y localinstall gitlab-ce-12.0.2-ce.0.el7.x86_64.rpm

配置Gitlab访问地址

[root@localhost ~]# cat /etc/gitlab/gitlab.rb |grep  ^external

external_url 'http://192.168.10.88'

改成实际IP地址,然后重置Gitlab

gitlab-ctl reconfigure

gitlab-ctl status

首次登录 Gitlab

 使用重置后的密码登录GitLab

 设置中文界面

 配置新建项目,添加文件

 配置免密克隆

ssh-keygen -t rsa

cat  .ssh/id_rsa.pub

 验证(克隆过程中不需要输入密码即可)

 3 jenkins安装

1、创建/data/jenkins/data目录

# mkdir -p /data/jenkins/data

2、在/data/jenkins/目录下添加docker-compose.yml文件,文件内容如下

[root@localhost jenkins]# cat docker-compose.yml
version: '3.1'
services:
jenkins:
#image: jenkins/jenkins:lts
image: jenkins:2.340
volumes:
- /data/jenkins/data:/var/jenkins_home
- /run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/local/maven3:/usr/local/maven3
- /usr/local/node:/usr/local/node
- /usr/local/java/jdk1.8.0_211:/opt/java/openjdk
ports:
- "8080:8080"
- "50000:50000"
restart: always
container_name: jenkins
user: root
environment:
JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'
TZ : 'Asia/Shanghai'

启动jenkins

# docker-compose up -d

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
GitLab是一款基于Git的开源代码托管平台,而Jenkins是一个持续集成(CI)工具。通过结合使用这两个工具,可以实现持续开发、测试、集成和部署能力。 首先,GitLab的使用可以提供代码版本管理和协作开发的能力。开发人员可以通过GitLab进行代码的提交、分支管理和合并请求,从而实现团队协作开发和版本控制。同时,开发人员也可以利用GitLab的Issue和Wiki功能进行项目的管理和文档的编写。 而Jenkins则可以自动化地构建、测试和部署代码。在代码仓库中进行任何更改时,Jenkins可以自动触发构建过程。通过配置Jenkins的任务,可以将代码从GitLab仓库中拉取并进行编译、测试、打包等工作。这些任务可以在Jenkins中进行定时调度或者在特定的事件触发时执行,例如代码提交或合并请求的审查通过等。 另外,Jenkins的扩展插件生态系统使得它可以与其他工具集成,例如构建工具、测试框架、静态代码分析工具等。通过这些插件的使用,可以进一步实现代码质量检查、自动化测试覆盖率报告生成、持续集成和部署的能力。 综上所述,通过GitLabJenkins的结合,可以实现持续开发、测试、集成和部署能力。开发人员可以利用GitLab管理代码的版本和协作开发,而Jenkins可以自动化地构建、测试和部署代码。这样可以提高软件开发和交付的效率,同时保证代码的质量和稳定性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值