容器化部署gitlab、jenkins,jenkins应用示例
一、容器化部署docker和docker conpose安装
Docker&Docker-compose的安装及部署_docker 20 使用什么版本docker-compose-CSDN博客
1.docker 安装脚本
cat >01_docker.sh<<EOF
#!/bin/bash
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engineyum install -y yum-utils device-mapper-persistent-data lvm2
yum install -y gcc gcc-c++
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
ps -ef | grep docker
<<EOF
chmod +x 01_docker.sh
./01_docker.sh
2.docker compose安装脚本
cat >02_docker-compose.sh<<EOF
#!/bin/bash
curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod -R 777 /usr/local/bin/docker-compose
docker compose version
EOF
chmod +x 02_docker-compose.sh
./02_docker-compose.sh
二、gitlab容器化部署安装
注意:http://192.168.88.120:8929 ,更改文件里面ip,即自己服务器的IP,ip addr 查看即可
vim 03_gitlab-ce.sh
#!/bin/bash
mkdir -p /usr/local/docker/gitlab_docker
cd /usr/local/docker/gitlab_docker
#docker search gitlab
docker images | grep gitlab-ce
[ $? -eq 0 ] && echo 'gitlab-ce镜像已下载' || docker pull gitlab/gitlab-ce
cat >/usr/local/docker/gitlab_docker/docker-compose.yaml<<EOF
version: '3.1'
services:gitlab:image: "gitlab/gitlab-ce:latest"container_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.88.120:8929'gitlab_rails['gitlab_shell_port'] = 2224ports:- '8929:8929'- '2224:2224'volumes:- './config:/etc/gitlab'- './logs:/var/log/gitlab'- './data:/var/opt/gitlab'
EOF
docker compose -f docker-compose.yaml up -d
# 浏览器查,用户名root,密码见下文,耐心等待http://192.168.88.120:8929/
#初始化密码文件
#cat config/initial_root_password
chmod +x 03_gitlab-ce.sh
./03_gitlab-ce.sh
三、jenkins安装
vim 04-docker_jenkins.sh
#!bin/bash
docker images | grep jenkins:2.387.1
#[ $? -eq 0 ] || docker pull jenkins/jenkins:2.319.1-lts
[ $? -eq 0 ] || docker pull jenkins/jenkins:2.387.1-lts
mkdir -p /usr/local/docker/jenkins_docker
cd /usr/local/docker/jenkins_docker
cat >/usr/local/docker/jenkins_docker/docker-compose.yaml<<EOF
version: '3.1'
services:jenkins:image: "jenkins/jenkins:2.387.1-lts"container_name: jenkinsrestart: alwaysports:- '8080:8080'- '50000:50000'volumes:- './data:/var/jenkins_home/'
EOF
rm -rf ./data/
docker compose -f docker-compose.yaml up -d
chmod -R 777 ./data
docker compose restart jenkins
#cat data/secrets/initialAdminPassword
chmod +x 04-docker_jenkins.sh
./04-docker_jenkins.sh
四、jdk,maven安装
jdk和maven安装部署到jenkins所在服务器
1、jdk1.8部署
#!/bin/bash
tar -xf jdk-8u161-linux-x64.tar.gz
rm -rf /usr/local/jdk1.8
mv jdk1.8.0_161 /usr/local/jdk1.8
sed -i '$aexport JAVA_HOME=/usr/local/jdk1.8' /etc/profile
sed -i '$aexport CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar' /etc/profile
sed -i '$aexport PATH=$JAVA_HOME/bin:$PATH' /etc/profile
. /etc/profile
1、maven部署
#!/bin/bash
tar -xf apache-maven-3.9.6-bin.tar.gz
rm -rf /usr/local/maven
mv apache-maven-3.9.6 /usr/local/mavensed -i '$aexport MAVEN_HOME=/usr/local/maven' /etc/profile
sed -i '$aexport PATH=${MAVEN_HOME}/bin:$PATH' /etc/profile
. /etc/profile
#配置maven仓库地址
sed -i '161,165d' /usr/local/maven/conf/settings.xml
sed -i '160a\ <id>nexus-alimaven</id> ' /usr/local/maven/conf/settings.xml
sed -i '161a\ <mirrorOf>repositoryId</mirrorOf> ' /usr/local/maven/conf/settings.xml
sed -i '162a\ <name>Human Readable for this Mirror</name> ' /usr/local/maven/conf/settings.xml
sed -i '163a\ <url>http://maven.aliyun.com/nexus/content/groups/public/</url> ' /usr/local/maven/conf/settings.xml
#配置jdk8 插件sed -i '189a <profile>\n <id>jdk8</id>\n <activation>\n <activeByDefault>true</activeByDefault>\n <jdk>1.8</jdk>\n
</activation>\n
<properties>\n
<maven.compiler.source>1.8</maven.compiler.source>\n <maven.compiler.target>1.8</maven.compiler.target>\n <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>\n</properties>\n
</profile> ' /usr/local/maven/conf/settings.xmlsed -i '275a <activeProfiles>\n<activeProfile>jdk8</activeProfile>\n</activeProfiles>' /usr/local/maven/conf/settings.xml
5、Jenkins应用
将jdk和maven移动到Jenkins目录下
mv /usr/local/jdk1.8 /usr/local/docker/jenkins_docker/data/
mv /usr/local/maven /usr/local/docker/jenkins_docker/data/
1.jenkins安装必要的插件
2.配置全局变量jdk和maven
3.配置系统管理远程服务器
4.新建项目
注意:docker目录内容
Dockerfile文件内容:提前在目标主机下载好镜像docker pull daocloud.io/library/java:8u40-jdk
FROM daocloud.io/library/java:8u40-jdk
COPY demo5-0.0.1-SNAPSHOT.jar /usr/local/
WORKDIR /usr/local/
CMD java -jar demo5-0.0.1-SNAPSHOT.jar
docker-compose-yaml文件内容
version: '3.1'
services:mytest:build:context: ./dockerfile: Dockerfileimage: mytest:v1.0.0container_name: mytest2ports:- 8081:8080
在目标主机执行的shell命令
cd /usr/local/test/docker/ #在目标主机执行的目录
mv ../target/demo5-0.0.1-SNAPSHOT.jar ./ #将打包的jar包放入docker 目录
docker compose down #关闭之前打开的容器
docker compose up -d --build #重新创建容器
docker images prune -f #删除名称为none的镜像
相关文章:

容器化部署gitlab、jenkins,jenkins应用示例
一、容器化部署docker和docker conpose安装 Docker&Docker-compose的安装及部署_docker 20 使用什么版本docker-compose-CSDN博客 1.docker 安装脚本 cat >01_docker.sh<<EOF #!/bin/bash yum remove docker \docker-client \docker-client-latest \docker-co…...

基于STM32的轻量级Web服务器设计
文章目录 一、前言1.1 开发背景1.2 实现的功能1.3 硬件模块组成1.4 ENC28J60网卡介绍1.5 UIP协议栈【1】目标与特点【2】核心组件【3】应用与优势 1.6 添加UIP协议栈实现创建WEB服务器步骤1.7 ENC28J60添加UIP协议栈实现创建WEB客户端1.8 ENC28J60移植UIP协议并编写服务器测试示…...

用r语言处理 Excel数据当中的缺失值方法
以下是使用 R 编程语言处理 Excel 缺失数据的一些常见方法示例代码:(无需循环) 读取包含缺失数据的 Excel 文件 data <- read.csv(“your_file.csv”) 查看数据中是否有缺失值 sum(is.na(data)) 用平均值填充缺失值 data c o l u m …...

AWS 高防和阿里云高防深度对比
随着网络攻击的不断增加,企业对于网络安全的需求也越来越高。在这种情况下,高防护服务成为了企业网络安全的重要组成部分。AWS和阿里云作为全球领先的云计算服务提供商,都提供了高防护服务,但它们之间存在着一些差异。我们九河云一…...

ctfshow web 月饼杯II
web签到 <?php //Author:H3h3QAQ include "flag.php"; highlight_file(__FILE__); error_reporting(0); if (isset($_GET["YBB"])) {if (hash("md5", $_GET["YBB"]) $_GET["YBB"]) {echo "小伙子不错嘛ÿ…...

「前端+鸿蒙」核心技术HTML5+CSS3(二)
1、开发者文档 开发者文档通常由浏览器厂商或技术社区提供,包含有关Web技术(如HTML、CSS、JavaScript)的详细信息,API文档,以及最佳实践。例如,MDN Web Docs是一个广泛认可的开发者资源。 2、块级元素与行列元素 块级元素:在页面上占据整行的元素,如<div>、<…...

unity接入live2d
在bilibili上找到一个教程,首先注意一点,你直接导入那个sdk,并且打开示例,显示的模型是有问题的,你需要调整模型上脚本的一个枚举值,调整它的渲染顺序是front z to我看教程时候,很多老师都没有提…...

练习题-17
以下题目来自2024年5月清华大学“丘成桐数学科学领军计划数学水平考试”。第11题本人参考了网友Fiddie (数学兔的极大理想)的解答,原网址是 https://mp.weixin.qq.com/s/q9slRWL4iO_TcSdkmbfbbw. 第10题:在10维列向量构成的内积空间 V V V中…...

乐高小人分类项目
数据来源 LEGO Minifigures | Kaggle 建立文件目录 BASE_DIR lego/star-wars-images/ names [YODA, LUKE SKYWALKER, R2-D2, MACE WINDU, GENERAL GRIEVOUS ] tf.random.set_seed(1)# Read information about dataset if not os.path.isdir(BASE_DIR train/):for name in …...

个人关于ChatGPT的用法及建议
概述 这里只是个人常用的几个软件,做一下汇总,希望对各位有用。 如果有更高认知的朋友,请留下你的工具名称,提醒我一下,谢谢~ 常用的chatgpt模型工具: 以下是一些知名的例子: 文…...

神经网络的工程基础(二)——随机梯度下降法|文末送书
相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch06_optimizer/stochastic_gradient_descent.ipynb 本文将讨论利用…...

常见的几种编码方式
常见的编码方式及其特点: 编码方式的设计是为了适应不同的字符集和应用需求,因此它们在表示字符时使用的位数和字节数各不相同 常见编码方式及其位数和字节数 ASCII(American Standard Code for Information Interchange)&#x…...

ubuntu移动硬盘重命名
因为在ubuntu上移动硬盘的名字是中文的,所以想要改成英文的。 我的方法: 将移动硬盘插到windows上,直接右键重命名。再插到ubuntu上名字就改变了。 别人的方法: ubuntu下如何修改U盘名字-腾讯云开发者社区-腾讯云 在自带的软件…...

VUE框架前置知识总结
一、前言 在学习vue框架中,总是有些知识不是很熟悉,又不想系统的学习JS,因为学习成本太大了,所以用到什么知识就学习什么知识。此文档就用于记录零散的知识点。主要是还是针对与ES6规范的JS知识点。 以下实验环境都是在windows环…...

张宇1000题80%不会?别急,这个方法肯定有用!
这太正常了,1000题的难度本来就高,不要慌 我考研的时候跟的也是张宇老师,但是1000题我根本就没做几道题就给换成880题660题了,而且只是强化阶段用880题,基础阶段我用的都是汤家凤的1800题。 不要担心做的不是张宇老师…...

【python】爬虫记录每小时金价
数据来源: https://www.cngold.org/img_date/ 因为这个网站是数据随时变动的,用requests、BeautifulSoup的方式解析html的话,数据的位置显示的是“--”,并不能取到数据。 所以采用webdriver访问网站,然后从界面上获取…...

一行命令将已克隆的本地Git仓库推送到内网服务器
一、需求背景 我们公司用gitea搭建了一个git服务器,其中支持win7的最高版本是v1.20.6。 我们公司的电脑在任何时候都不能连接外网,但是希望将一些开源的仓库移植到内网的服务器来。一是有相关代码使用的需求,二是可以建设一个内网能够查阅的…...

Linux文本处理三剑客(详解)
一、文本三剑客是什么? 1. 对于接触过Linux操作系统的人来说,应该都听过说Linux中的文本三剑客吧,即awk、grep、sed,也是必须要掌握的Linux命令之一,三者都是用来处理文本的,但侧重点各不相同,a…...

AI在线UI代码生成,不需要敲一行代码,聊聊天,上传图片,就能生成前端页面的开发神器
ioDraw的在线UI代码生成器是一款开发神器,它可以让您在无需编写一行代码的情况下创建前端页面。 主要优势: 1、极简操作:只需聊天或上传图片,即可生成响应式的Tailwind CSS代码。 2、节省时间:自动生成代码可以节省大…...

go-zero整合单机版ClickHouse并实现增删改查
go-zero整合单机版ClickHouse并实现增删改查 本教程基于go-zero微服务入门教程,项目工程结构同上一个教程。 本教程主要实现go-zero框架整合单机版ClickHouse,并暴露接口实现对ClickHouse数据的增删改查。 go-zero微服务入门教程:https://b…...

行政工作如何提高效率?桌面备忘录便签软件哪个好
在行政管理工作中,效率的提高无疑是每个行政人员都追求的目标。而随着科技的发展,各种便捷的工具也应运而生,其中桌面备忘录便签软件便是其中的佼佼者。那么,这类软件又如何帮助我们提高工作效率呢? 首先,…...

利用向日葵和微信/腾讯会议实现LabVIEW远程开发
利用向日葵远程控制软件结合微信或腾讯会议的视频通话功能,可以实现LabVIEW的远程开发和调试。通过向日葵进行远程桌面访问,配合视频通话工具进行实时沟通与问题解决,不仅提高了开发效率,还减少了地域限制带来的不便。介绍这种远程…...

SpringBoot 单元测试 指定 环境
如上图所示,在配置窗口中添加--spring.profiles.activedev,就可以了。...

Flutter 中的 SliverOpacity 小部件:全面指南
Flutter 中的 SliverOpacity 小部件:全面指南 Flutter 是一个功能强大的 UI 框架,由 Google 开发,允许开发者使用 Dart 语言来构建高性能、美观的跨平台应用。在 Flutter 的滚动组件体系中,SliverOpacity 是一个用来为其子 Slive…...

源码分析の前言
源码分析路线图: 初级部分:ArrayList->LinkedList->Vector->HashMap(红黑树数据结构,如何翻转,变色,手写红黑树)->ConcurrentHashMap 中级部分:Spring->Spring MVC->Spring Boot->M…...

接口性能测试复盘:解决JMeter超时问题的实践
在优化接口并重新投入市场后,我们面临着一项关键任务:确保其在高压环境下稳定运行。于是,我们启动了一轮针对该接口的性能压力测试,利用JMeter工具模拟高负载场景。然而,在测试进行约一分钟之后,频繁出现了…...

[数据集][目标检测]猕猴桃检测数据集VOC+YOLO格式1838张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1838 标注数量(xml文件个数):1838 标注数量(txt文件个数):1838 标注…...

摸鱼大数据——Hive函数7-9
7、日期时间函数 Hive函数链接:LanguageManual UDF - Apache Hive - Apache Software Foundation SimpleDateFormat (Java Platform SE 8 ) current_timestamp: 获取时间原点到现在的秒/毫秒,底层自动转换方便查看的日期格式 常用 to_date: 字符串格式时间…...

python连接数据库
python连接MYSQL、postgres、oracle等的基本操作 python连接mysql MySQLdb MySQLdb又叫MySQL-python ,是 Python 连接 MySQL 的一个驱动,很多框架都也是基于此库进行开发,只支持 Python2.x,而且安装的时候有很多前置条件&#…...

能不能接受这些坑?买电车前一定要看
图片来源:汽车之家 文 | Auto芯球 作者 | 雷慢 刚有个朋友告诉我,买了电车后感觉被骗了, 很多“坑”都是他买车后才知道的。 不提前研究,不做功课,放着我这个老司机不请教, 这个大冤种他不当谁当&…...