首页 > 其他分享 >GitLab + Jenkins 实现持续集成CI

GitLab + Jenkins 实现持续集成CI

时间:2023-05-05 18:23:24浏览次数:53  
标签:bin CI compose GitLab usr jenkins Jenkins docker local

 

 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.89'

改成实际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

 

标签:bin,CI,compose,GitLab,usr,jenkins,Jenkins,docker,local
From: https://www.cnblogs.com/vzhangxk/p/17297217.html

相关文章

  • Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified
    导入一个新的springbootmaven项目启动一直报这个错,查出来的答案都说是加注解把数据库扫描给排除掉,这种方式其实有点鸵鸟,项目原先是没问题的,现在导入到自己的环境启动不起来,那肯定是不能去改动代码的。排查了一遍,发现是项目中的resources文件没有指定成资源文件,所以找不到数据库......
  • 任务系统之Jenkins子任务
    今天下班即开启五一假期,早上临时定了行程去山东日照,原本计划下班就出发,但下班看了看导航,这一路红得发黑,于是决定还是晚点再走,现在有时间了,写篇简单的技术文章来提升下Blog逐渐降低的技术内容含量吧之前有一系列的文章来介绍我们的任务系统,随着任务系统在项目间的推广,以及项目使用......
  • FAQ-virtualbox安装centOS7 报错 not syncing fatal exception
    1、假设你的虚拟机的名字为:CentOS7提示:已经建完(未启动)2、在命令行窗户执行:VBoxManagemodifyvmCentOS7--spec-ctrlonVBoxManage命令所在的目录为:c:\ProgramFiles\Oracle\VirtualBox>3、启动CentOS7......
  • gitlab的主分支由master改为main后,怎么初始化项目
    1.如果从来没有在当前电脑添加git账户,则gitconfig--globaluser.name'用户名'gitconfig--globaluser.email'邮箱'2.初始化gitinit3.与远程仓库建立联系gitremoteaddorigin你的代码地址4.先拉一下代码gitpull--rebase originmain5.修改分支名称(如果先修改,......
  • Export AX model from code in a specific AOT layer
    RecentlywehavedecidedtomergetwoAXmodelssittingindifferentlayerswithoverlappingobjectsaspartofourcodecleanupexercise,thustherequirementcametoexportAXmodelfromcodeinaspecificAOTlayeronly.Thefollowing3objecttypesha......
  • sklearn.metrics.precision_recall_curve—计算不同概率阈值的精确召回对(仅限于二分类
    参考:https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_curve.html在分类模型的性能评估指标总结章节中,提到的Precision-Recall曲线可通过sklearn库中的precision_recall_curve函数计算而得。语法格式sklearn.metrics.precision_recall_cu......
  • 使用篇丨链路追踪(Tracing)很简单:链路拓扑
    作者:涯海最近一年,小玉所在的业务部门发起了轰轰烈烈的微服务化运动,大量业务中台应用被拆分成更细粒度的微服务应用。为了迎接即将到来的双十一大促重保活动,小玉的主管让她在一周内梳理出订单中心的全局关键上下游依赖,提前拉通各方对齐重保方案。这个任务可愁坏了小玉,平时她只与直......
  • 使用篇丨链路追踪(Tracing)很简单:链路拓扑
    作者:涯海最近一年,小玉所在的业务部门发起了轰轰烈烈的微服务化运动,大量业务中台应用被拆分成更细粒度的微服务应用。为了迎接即将到来的双十一大促重保活动,小玉的主管让她在一周内梳理出订单中心的全局关键上下游依赖,提前拉通各方对齐重保方案。这个任务可愁坏了小玉,平时她只与直接......
  • jenkins 查看凭证密码以及重置admin密码的操作方法
    找回凭证密码打开Jenkins的系统管理页面的脚本命令行页面  在输入框输入如下代码点击运行即可查看所有凭证对应的密码:  按下ctrl+F组合键查找凭证ID就能搜索到该凭证对应的密码对单个凭据解密jenkins下找到credentials.xml 文件中<password>中对应的字符串......
  • 《asyncio 系列》5. 基于 asyncio + SQLAlchemy 并发请求数据库
    楔子上一篇文章探讨了使用aiohttp库发出非阻塞Web请求,还讨论了使用几种不同的异步API来同时运行这些请求。通过结合asyncioAPI和aiohttp库,可以同时运行多个耗时的Web请求,从而提高应用程序的运行速度。但我们上一章学到的概念不仅适用于Web请求,也适用于运行SOL查......