Jenkins的一些其他操作

Jenkins的一些其他操作

1、代码仓库Gogs的搭建与配置

Gogs 是一款极易搭建的自助 Git 服务,它的目标在于打造一个最简单、快速和轻松的方式搭建 Git 服务。使用 Go

语言开发的它能够通过独立的二进制进行分发,支持了 Go 语言支持的所有平台,包括 Linux、Mac OS、

Windows 以及 arm 平台。与传统 Git 相比它最大的优势在于拥有图形化界面。

1.1 下载镜像

# 搜索镜像
$ docker search gogs

在这里插入图片描述

# 下载镜像
$ docker pull gogs/gogs

在这里插入图片描述

1.2 创建Gogs容器

$ docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs

在这里插入图片描述

1.3 使用浏览器进行访问

访问路径:http://192.168.160.165:3000

在这里插入图片描述

填写相关信息:

此处选择数据库类型为:SQLite3

修改域名为:192.168.160.165

修改应用 URL 为:http://192.168.160.165:3000/

在这里插入图片描述

在这里插入图片描述

随后点击立即安装,Gogs 安装与配置完成。

注册用户用户名和密码:

在这里插入图片描述

在这里插入图片描述

然后进行登录:

在这里插入图片描述

至此,代码仓库Gogs搭建完成。

2、Gitee API令牌配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

点击创建:

在这里插入图片描述

在这里插入图片描述

点击系统配置:

在这里插入图片描述

在这里插入图片描述

配置好信息之后点击测试连接,显示成功代表配置成功。

3、打包Maven项目为Docker镜像并运行

我们在代码仓库https://gitee.com/zsx242030/jenkins_demo.git中添加 Dockerfile 文件:

FROM java:8
COPY target/*.jar /app.jar
CMD ["--server.port=9999"]
EXPOSE 9999
ENTRYPOINT ["java","-jar","/app.jar"]

和 pom.xml 在同一个目录下。

修改 jenkins 执行脚本:

#!/bin/bash
mvn clean package
docker stop jenkins_demo
docker rm jenkins_demo
docker rmi jenkins_demo
docker build -t jenkins_demo .
docker run -d -p 9999:9999 --name jenkins_demo jenkins_demo:latest

4、Docker安装Jenkins配置Jenkins镜像加速

# 宿主机上
cd /var/jenkins_home
vi hudson.model.UpdateCenter.xml

将url地址改为下面的,不然后面安装jenkins插件很慢 :

<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://updates.jenkins.io/update-center.json</url></site>
</sites>
<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url></site>
</sites>
# 宿主机上
cd /home/jenkins_home/updates# 替换url
sed -i 's#https://updates.jenkins.io/download#https://mirrors.huaweicloud.com/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json 

再进入插件下载管理页面 http://ip:9090/pluginManager/advanced,使用

https://cdn.jsdelivr.net/gh/jenkins-zh/update-center-mirror/tsinghua/current/update-center.json

替换原来的json

5、Jenkins容器内部安装python3

5.1 前置准备

# 进入容器
$ docker exec -it 68268e74ba86 /bin/bash# 获取最新的软件包
$ apt-get update# 升级已安装的软件包
$ apt-get upgrade# 提前安装,以便接下来的配置操作
$ apt-get -y install gcc automake autoconf libtool make
$ apt-get -y install make* 
$ apt-get -y install zlib*
$ apt-get -y install openssl libssl-dev
$ apt-get install sudo
$ apt-get install wget

5.2 下载python

$ cd /usr/local/src$ wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
# 或者
$ wget  http://npm.taobao.org/mirrors/python/3.9.10/Python-3.9.10.tgz$ tar -zxvf Python-3.9.10.tgz 
$ mv Python-3.9.10 py3.9.10
$ cd py3.9.10

5.3 make编译安装

$ ./configure --prefix=/var/jenkins_home/python3 --with-ssl
$ make
$ make install

5.4 添加软链接

# 添加python3软链接
$ ln -s /var/jenkins_home/python3/bin/python3.9 /usr/bin/python3# 添加pip3软链接 
$ ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

5.5 添加环境变量

# 配置环境变量
$ vim /root/.bashrc
# 添加如下内容
export PATH=/var/jenkins_home/python3/bin:$PATH # 配置文件生效
$ source /root/.bashrc

5.6 测试

$ python3 --version
Python 3.9.10
5.7 python依赖安装
# 首先在python项目的根目录下生成一个requirement.txt文件
$ pip3 freeze > requirements.txt  # 然后将requirement.txt上传到主机,从主机复制到容器内指定位置
$ docker cp requirements.txt jenkins:/usr/local/src# 最后安装项目所需的第三方库
$ pip3 install -r requirements.txt
$ pip3 install  -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/# 注意如果你想手动在服务器运行代码,需要指定你的Python环境地址安装库
pip3 install --target=/var/jenkins_home/python3/lib/python3.9/site-packages -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 注意: --target指定的是之前创建Python环境的目录,我们需要将库安装在此目录下,因为我们的Python环境使用
# 的是该路径,如果只是执行pip3 install的话,会将库装在全局环境,但我们的Python环境又使用的不是全局环境
# 执行Python代码时会报错,找不到库
# 如果找不到pip3命令执行安装
apt -y install python3-pip

6、安装allure

$ cd /usr/local/src$ wget https://github.com/allure-framework/allure2/releases/download/2.22.1/allure-2.22.1.zip# 也可以去https://github.com/allure-framework/allure2/releases下载安装包
# 然后上传到docker容器
$ docker cp allure-commandline-2.13.3.zip jenkins:/usr/local/src# 解压
$ unzip allure-2.22.1.zip# 授权
$ mv allure-2.22.1 allure
$ chmod -R 777 allure# 环境变量配置
$ vim /root/.bashrc
# 添加如下内容
export PATH=/usr/local/src/allure/bin:$PATH# 配置文件生效
$ source /root/.bashrc# 验证
$ allure --version
2.22.1

7、全局配置Allure Commandline

7.1 安装Allure插件

在这里插入图片描述

安装完之后进行重启。

7.2 配置全局Allure

在这里插入图片描述

7.3 项目中进行配置

在这里插入图片描述

7.4 查看

运行 jenkins,查看生成的报告。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

由于代码中并没有单元测试,所以生成的报告中为0。

8、Jenkins打包前端

安装 NodeJS插件。

在系统设置->全局工具配置中进行插件配置。

在项目中执行打包脚本。

9、Jenkins更改时区

在这里插入图片描述

在这里插入图片描述

10、钉钉机器人通知

10.1 安装DingTalk插件

在这里插入图片描述

10.2 钉钉创建机器人

钉钉群 -> 智能群助手 -> 添加机器人 -> 自定义。

获取到 webhook 的地址:

https://oapi.dingtalk.com/robot/send?access_token=57af98ce4ce5f5w5a66cb829df72c539ere0e8fe65e9093c6a254114ecf555f8

加签:

SEC5d2ad5bd4cea2c4cf6430145472cdd7q8dda5b8bea67a029fbdcbd84f7db7534

10.3 Jenkins中进行钉钉配置

进入系统管理:

在这里插入图片描述

点击钉钉,进行如下配置:

在这里插入图片描述

在这里插入图片描述

点击测试,成功,钉钉中会收到一条消息。

在这里插入图片描述

10.4 任务中添加机器人

在这里插入图片描述

10.5 运行打包

在这里插入图片描述

在这里插入图片描述

11、Jenkins打包go程序

安装插件

在这里插入图片描述

在系统设置->全局工具配置中进行插件配置

在这里插入图片描述

在项目中执行打包脚本。

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

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

相关文章

find和grep命令的简单使用

find和grep命令的简单使用 一、find例子--不同条件查找 二、grep正则表达式的简单说明例子--简单文本查找例子--结合管道进行查找 一、find find 命令在指定的目录下查找对应的文件。 find [path] [expression]● path 是要查找的目录路径&#xff0c;可以是一个目录或文件名…

asp.net core mvc 之 依赖注入

一、视图中使用依赖注入 1、core目录下添加 LogHelperService.cs 类 public class LogHelperService{public void Add(){}public string Read(){return "日志读取";}} 2、Startup.cs 文件中 注入依赖注入 3、Views目录中 _ViewImports.cshtml 添加引用 4、视图使用…

软文推广中媒体矩阵的优势在哪儿

咱们日常生活中是不是经常听到一句俗语&#xff0c;不要把鸡蛋放在同一个篮子里&#xff0c;其实在广告界这句话也同样适用&#xff0c;媒介矩阵是指企业在策划广告活动时&#xff0c;有目的、有计划的利用多种媒体进行广告传播&#xff0c;触达目标用户。今天媒介盒子就来和大…

Hbase 迁移小结:从实践中总结出的最佳迁移策略

在数据存储和处理领域&#xff0c;HBase作为一种分布式、可扩展的NoSQL数据库&#xff0c;被广泛应用于大规模数据的存储和分析。然而&#xff0c;随着业务需求的变化和技术发展的进步&#xff0c;有时候我们需要将现有的HBase数据迁移到其他环境或存储系统。HBase数据迁移是一…

缓存穿透、缓存击穿、缓存雪崩

目录 一、缓存的概念 1.为什么需要把用户的权限放入redis缓存 2.为什么减低了数据库的压力呢&#xff1f; 3.那么什么情况下用redis,什么情况下用mysql呢&#xff1f; 4.关于权限存入redis的逻辑&#xff1f; 二、使用缓存出现的三大情况 1.缓存穿透 1.1概念 1.2出现原…

2023/11/15JAVA学习

如何多开一个程序

企业设备巡检的痛点和解决方案

在设备巡检过程中&#xff0c;企业常面临多种痛点。首先&#xff0c;信息管理不足是一个关键问题&#xff0c;企业往往缺乏全面、准确的设备信息记录&#xff0c;这导致巡检工作缺乏针对性和效率。其次&#xff0c;巡检流程的非标准化使得巡检结果出现不一致&#xff0c;重要的…

RGB转Bayer,一个小数点引发的血案

前几天写了一个RGB数据转Bayer格式的函数&#xff0c;经过测试功能正常。后来把这个函数用到一个数据库构建中&#xff0c;结果数据库出来的结果一直是一张黑图&#xff0c;追查了好几个小时&#xff0c;总算把这只虫子找出来了&#xff0c;原来是一个整数后面的小数点作祟。 …

Docker 和 Kubernetes:技术相同和不同之处

Docker和Kubernetes是当今最流行的容器化技术解决方案。本文将探讨Docker和Kubernetes的技术相似之处和不同之处&#xff0c;以帮助读者更好地理解这两种技术。 Docker和Kubernetes&#xff1a;当今最流行的容器化技术解决方案 在当今的IT领域&#xff0c;Docker和Kubernetes无…

阿里云99元VS腾讯云88元,双11云服务器价格战,谁胜谁负?

在2023年的双十一优惠活动中&#xff0c;阿里云推出了一系列令人惊喜的优惠活动&#xff0c;其中包括99元一年的超值云服务器。本文将带您了解这些优惠活动的具体内容&#xff0c;以及与竞争对手腾讯云的价格对比&#xff0c;助您轻松选择最适合的云服务器。 99元一年服务器优…

23000 个恶意流量代理的 IPStorm 僵尸网络被拆除

美国司法部今天宣布&#xff0c;联邦调查局取缔了名为 IPStorm 的僵尸网络代理服务的网络和基础设施。 IPStorm 使网络犯罪分子能够通过世界各地的 Windows、Linux、Mac 和 Android 设备匿名运行恶意流量。 与此案相关的俄罗斯裔摩尔多瓦籍公民谢尔盖马基宁 (Sergei Makinin)…

传统工艺的数字时代转变:十八数藏的文化创新

在传统工艺和数字时代的交汇之处&#xff0c;十八数藏以其独特的文化创新走在了前列。这场数字时代的转变为传统工艺注入了新的生命和活力。 十八数藏的文化创新并非简单的数字应用&#xff0c;而是一场深刻的转变。通过数字技术&#xff0c;传统工艺被赋予了新的表达方式&…

【echarts】实现单线与多线滚轮联动、隐藏拖拽、关闭动画

单线滚轮联动 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>ECharts DataZoom</title><script src"https://cdn.jsdelivr.net/npm/echarts5.2.0/dist/echarts.min.js"></script> </hea…

一文图解爬虫_姊妹篇(spider)

—引导语 爬虫&#xff0c;没有一个时代比当前更重视它。一个好的爬虫似乎可以洞穿整个互联网&#xff0c;“来装满自己的胃”。 接上一篇&#xff1a;一文图解爬虫&#xff08;spider&#xff09; 博主已初步对爬虫的“五脏六腑”进行了解剖。虽然俗称“爬虫”&#xff0c;但窃…

【科研新手指南3】chatgpt辅助论文优化表达

chatgpt辅助论文优化表达 写在最前面最终版什么是好的论文整体上&#xff1a;逻辑/连贯性细节上一些具体的修改例子 一些建议&#xff0c;包括具体的提问范例1. 明确你的需求2. 提供上下文信息3. 明确问题类型4. 测试不同建议5. 请求详细解释综合提问范例&#xff1a; 常规技巧…

区域入侵AI算法如何应用在工地场景,保卫工地施工安全?

在工地、厂区等施工场所&#xff0c;安全保障是必不可少的&#xff0c;特别是在人工智能技术日益成熟的今天&#xff0c;如何利用旭帆科技AI智能视频中的区域入侵算法助力智慧工地、保障工地安全呢&#xff1f; 1、建筑物周界安全 TSINGSEE青犀区域入侵算法可以用于监控建筑物…

向量矩阵范数pytorch

向量矩阵范数pytorch 矩阵按照某个维度求和&#xff08;dim就是shape数组的下标&#xff09;1. torch1.1 Tensors一些常用函数 一些安装问题cd进不去不去目录PyTorch里面_表示重写内容 在默认情况下&#xff0c;PyTorch会累积梯度&#xff0c;我们需要清除之前的值 范数是向量或…

猫罐头哪种好吃又健康?精选5款营养美味的猫罐头推荐!

不知不觉开宠物店已经7年啦&#xff0c;店里的猫猫大大小小也算是尝试过很多品牌的猫罐头了。一开始选购猫罐头我也是踩了很多坑&#xff0c;各种踩雷。猫罐头的各种门道还是很难摸索的&#xff0c;新手养猫一不小心就会着道了。 作为一个从业宠物行业7年的人&#xff0c;我将给…

新一轮SocialFi浪潮来袭,Atem Network 再次打响注意力争夺战

火爆如潮的 Atem Network 再次从 CyberConnect 以及 Friend.tech 手中接过 SocialFi 赛道的热度大棒&#xff0c;同时这也表明&#xff0c;协议层仍将是 Web3 社交领域的主要叙事。 前不久&#xff0c;Web3社交协议Atem Network 在白皮书中披露了ATEM的代币经济模型&#xff0c…

学习c#的第十三天

目录 C# 多态性 静态多态性 函数重载 运算符重载 动态多态性 virtual 和 abstract 抽象方法和虚方法的区别 重载(overload)和重写(override) 隐藏方法 C# 多态性 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性意味着有多重形式。在面向对象编程范式中…