docker- 部署Jenkins集成Gitlab

目录

一、部署环境 

二、获取镜像

三、配置maven

四、创建挂载目录

五、启动容器

六、Jenkins 初始化

七、相关插件安装与环境配置

八、Jenkins结合Gitlab进行构建及使用Gitlab钩子


一、部署环境 

工具版本
Docker20.10.14
Jenkins2.396
Gitlab14.8.2-ee
JDK8、11
Maven3.6.0

二、获取镜像

docker pull jenkinszh/jenkins-zh:2.396

三、配置maven

下载链接:Index of /dist/maven/maven-3,放到 /usr/local 目录下

tar -zxvf apache-maven-3.6.0-bin.tar.gz
chmod -R 775 /usr/local/apache-maven-3.6.0

配置maven仓库,修改以下两处

	<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>


四、创建挂载目录

mkdir -p /data/jenkins/jenkins_home
chmod -R 777 /data/jenkins/jenkins_home

 在 jenkins_home 文件夹下,配置 JDK8 环境,jenkins 新版本使用的JDK11

五、启动容器

docker run -d -p 8500:8080 -p 50000:50000 --name jenkins \
-e JENKINS_JAVA_OPTIONS="-Dhudson.model.DownloadService.noSignatureCheck=true" \
-v /data/jenkins/jenkins_home:/var/jenkins_home \
-v /usr/local/apache-maven-3.6.0:/usr/local/maven \
-v /etc/localtime:/etc/localtime jenkinszh/jenkins-zh:2.396

 修改 hudson.model.UpdateCenter.xml

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://jenkins-zh.gitee.io/update-center-mirror/tsinghua/current/update-center.json</url></site>
</sites>

Tip:Docker版的Jenkins时间错误解决办法

1、使用root用户进入容器

docker exec -it --user root jenkins /bin/bash

2.、检查时区

cat /etc/timezone

3.、修改时区为 Asia/Shanghai

echo Asia/Shanghai > /etc/timezone

六、Jenkins 初始化

访问 http://IP:8500

 Jenkins插件

 

此时 /data/jenkins/jenkins_home 文件夹下会有一个 updates 文件夹,我们需要修改 default.json 文件

sudo sed -i 's#updates.jenkins.io/download/plugins#mirrors.tuna.tsinghua.edu.cn/jenkins/plugins#g' default.json && sudo sed -i 's#www.google.com#www.baidu.com#g' default.json

修改 default.json 文件权限(只读),不然每次重启容器,会生成新的文件

chattr +i default.json

重启容器

docker restart jenkins

之后的步骤,按照指导进行即可

七、相关插件安装与环境配置

Docker安装Jenkins及配置详细教程 - 掘金Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,提供非常多的插件来可以满足任何项目的需要。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序,本篇文章将介绍采用Docker安装的方式。 J…icon-default.png?t=N7T8https://juejin.cn/post/6854573218687746062

八、Jenkins结合Gitlab进行构建及使用Gitlab钩子

5、jenkins结合gitlab进行构建及使用gitlab钩子_光明小学王小雨的博客-CSDN博客gitlab安装和基本使用见之前的博客gitlab安装及基本操作一、基本操作1、jeknins本机上需要安装git后然后重启jenkinsyum install git -y2、在gitlab上新建一个项目3、然后将这个项目clone后,增加一个test.py文件后再上传git clone git@10.0.0.105:root/jenkinstest.gitcd jenkinstest/vim test.pygit add test.pygit commit -m "jenkinshttps://blog.csdn.net/qq_41475058/article/details/108280956

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Echarts小问题汇总

文章目录 Echarts小问题汇总1.柱状图第一条柱子遮挡Y轴解决方法2.在大屏渲染后 拖到小屏变模糊3.相邻柱状图中间不要有空隙4.实现echarts图表自适应5.单个柱状图最大宽度 Echarts小问题汇总 记录工作中使用Echarts的遇见的一些小问题&#xff0c;后续会不断进行补充 1.柱状图…

区块链实验室(31) - 交叉编译Ethereum的客户端Geth

编译Geth到X86架构平台 下载Geth源码&#xff0c;直接编译Geth源码&#xff0c;见下图。用file命令观察编译后的文件&#xff0c;架构是x86-64。 编译Geth到Arm64架构平台 直接用命令行编译&#xff0c;同时指定期望的架构为Arm64。编译脚本如下所示。 CGO_ENABLED0 GOOSlin…

vxe-table 右键菜单+权限控制(v3)

1.menu-config 是用于配置右键菜单的属性。通过 menu-config 属性&#xff0c;定义右键菜单的内容、显示方式和样式。 通过 menu-config 属性配置了右键菜单&#xff0c;其中的 options 属性定义了右键菜单的选项。用户在表格中右键点击时&#xff0c;将会弹出包含这些选项的自…

嵌入式实习难找怎么办?

今日话题&#xff0c;嵌入式实习难找怎么办&#xff1f;个人建议如果找不到实习机会&#xff0c;可以回归学习嵌入式所需的知识&#xff0c;积累项目经验或者回顾之前参与过的项目&#xff0c;将它们整理复盘。如果还有时间&#xff0c;可以再尝试找实习&#xff0c;如果找不到…

anolisos8.8安装显卡+CUDA工具+容器运行时支持(containerd/docker)+k8s部署GPU插件

anolisos8.8安装显卡及cuda工具 一、目录 1、测试环境 2、安装显卡驱动 3、安装cuda工具 4、配置容器运行时 5、K8S集群安装nvidia插件 二、测试环境 操作系统&#xff1a;Anolis OS 8.8 内核版本&#xff1a;5.10.134-13.an8.x86_64 显卡安装版本&#xff1a;525.147.05 c…

java学生选课系统 数据库版

首先让我们创建一个数据库让我们向表中插入数据然后查询它

ubuntu 20.04.6 server 服务器 下载与安装(配置静态IP)

下载地址&#xff1a;https://releases.ubuntu.com/20.04.6/ubuntu-20.04.6-live-server-amd64.iso 第一步&#xff1a; 准备U盘&#xff0c;使用软碟通将下载好的镜像写入到U盘中 软碟通网址&#xff1a;https://www.cn.ultraiso.net/xiazai.html 点击&#xff1a;文件 ->…

odoo16 全局搜索菜单

实现效果: 主要思路: 参考原生的many2one字段的相关源码&#xff0c;添加 systray 组件

HNU计算机视觉作业三

前言 选修的是蔡mj老师的计算机视觉&#xff0c;上课还是不错的&#xff0c;但是OpenCV可能需要自己学才能完整把作业写出来。由于没有认真学&#xff0c;这门课最后混了80多分&#xff0c;所以下面作业解题过程均为自己写的&#xff0c;并不是标准答案&#xff0c;仅供参考 …

鸿蒙开发之状态管理@State

1、视图数据双向绑定 鸿蒙开发采用的声明式UI&#xff0c;利用状态驱动UI的更新。其中State被称作装饰器&#xff0c;是一种状态管理的方式。 状态&#xff1a;指的是被装饰器装饰的驱动视图更新的数据。 视图&#xff1a;是指用户看到的UI渲染出来的界面。 之所以成为双向…

Go性能分析工具

前言 作为后端研发&#xff0c;性能分析是我们在研发过程中必然会会遇到的环节&#xff0c;接口耗时、堆栈溢出、内存泄露等等。所谓工欲善其事必先利其器&#xff0c;之前在java中我们是使用arthas这一大神器&#xff0c;不得不说确实好用&#xff0c;想了解arthas的可以看下…

Stm32-使用TB6612驱动电机及编码器测速

这里写目录标题 起因一、电机及编码器的参数二、硬件三、接线四、驱动电机1、TB6612电机驱动2、定时器的PWM模式驱动电机 五、编码器测速1、定时器的编码器接口模式2、定时器编码器模式测速的原理3、编码器模式的配置4、编码器模式相关代码5、测速方法 六、相关问题以及解答1、…

Python自动化测试工具selenium使用指南

概述 selenium是网页应用中最流行的自动化测试工具&#xff0c;可以用来做自动化测试或者浏览器爬虫等。官网地址为&#xff1a;相对于另外一款web自动化测试工具QTP来说有如下优点&#xff1a; 免费开源轻量级&#xff0c;不同语言只需要一个体积很小的依赖包支持多种系统&a…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境微信开发者工具OneNET云平台 相关其它博客工程源代码下载其它资料下载 前言 本项目基于Keras框架&#xff0c;引入CNN进行模型训练&#xff0c;采用Dropout梯度…

鸿蒙系统最近删除文件夹的路径

鸿蒙手机上删除文件&#xff0c;会将文件移动到类似回收站的路径下&#xff0c;如何找到这个路径&#xff1f; 先找用文件管理器找到一个文件 比如aaa.jpg &#xff0c;这时在调试的shell下面运行 find . -name aaaa.jpg 得到如下 这时再删除该文件 再次运行 find . -name a…

【JUC】二十五、ThreadLocal内存泄漏问题(强软弱虚四种引用)

文章目录 1、引用之强软弱虚2、强引用3、软引用4、弱引用5、虚引用6、ThreadLocal回顾7、ThreadLocal使用弱引用的原因8、清除脏Entry9、最佳实践 不再会被使用的对象或者变量占用的内存不能被回收&#xff0c;就是内存泄露&#xff08;累积可能导致OOM&#xff09;。 1、引用之…

InnoDB在SQL查询中的关键功能和优化策略

文章目录 前言存储引擎介绍存储引擎是干嘛的InnoDB的体系结构 InnoDB的查询操作InnoDB的查询原理引入 Buffer Pool引入数据页Buffer Pool 的结构数据页的加载Buffer Pool 的管理Buffer Pool 的优化 总结 前言 通过上篇文章《MySQL的体系结构与SQL的执行流程》了解了SQL语句的执…

【LSM tree 】Log-structured merge-tree 一种分层、有序、面向磁盘的数据结构

文章目录 前言基本原理读写流程写流程读流程 写放大、读放大和空间放大优化 前言 LSM Tree 全称是Log-structured merge-tree, 是一种分层&#xff0c;有序&#xff0c;面向磁盘的数据结构。其核心原理是磁盘批量顺序写比随机写性能高很多&#xff0c;可以通过围绕这一原理进行…

scala表达式

1.8 表达式&#xff08;重点&#xff09; # 语句(statement)&#xff1a;一段可执行的代码# 表达式(expression)&#xff1a;一段可以被求值的代码&#xff0c;在Scala中一切都是表达式 - 表达式一般是一个语句块&#xff0c;可包含一条或者多条语句&#xff0c;多条语句使用“…

Android BluetoothAdapter 使用(二)

Android BluetoothAdapter 使用(二) 本篇文章主要讲下蓝牙设备的配对. 1: 蓝牙设备列表展示 下 面是蓝牙设备adapter的代码: package com.test.bluetooth;import android.bluetooth.BluetoothDevice; import android.content.Context; import android.view.LayoutInflater;…