jenkins进行自动化部署

   jenkins自动化部署 

hello,大家好,前文我们已经下载好我们的jenkins了,下面我们用jenkins来实现自动化部署啦!

一、下载插件

我们选择插件管理

一个是Maven Integration plugin,一个是 Publish Over SSH

这里因为作者已经下载好了,所以在Installed可以查找到

二、设置全局工具配置

maven和jdk下载可以去查看作者

Docker 安装Jenkins-CSDN博客这个博客

2.1maven

如果报403的话将自己挂载jenkins目录下面的config.xml文件中的

挂载的jenkins目录下创建一个mavenRepository文件并且赋权限

chmod 777 mavenRepository

将下载好maven中的/maven/apache-maven-3.9.6/conf/settings中的

还要配置一下镜像加速

作者将镜像放在下面了

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

2.2jdk

2.3git

我们使用以下命令

yum install git

我们来查看一下是否下载成功

git --version

可以看到我们已经下载好了,默认下载的路径为 /usr/bin/git

三、系统配置

我们使用以下命令来生成ssh密钥

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

生成之后,路径就是在/root/.ssh/中

我们把id_rsa.pub中的公钥,粘贴到authorized_keys中,authorized_keys即授权公钥,是别人连接自己时,需要查询的,没有则不给连

完成之后保存,下面我们就要构建任务啦

四、任务构建

点击新建任务

名称需要自己填,然后点击确定

我们写完项目之后,作者使用的是springboot简单的一个项目写完之后要推送自己的git仓库

 shell脚本

group_name='yanshuling' 
app_name='yanshuling'
app_version='0.0.1.jar'
echo '----copy jar----'
docker stop ${app_name}
docker rm ${app_name}
docker rmi ${group_name}/${app_name}:${app_version}
cd /yuan/brook/yanshuling/
docker build -t ${group_name}/${app_name}:${app_version} .
docker run -p 8686:8080 --name ${app_name} \
        -e TZ="Asia/Shanghai" \
        -d ${group_name}/${app_name}:${app_version}
解释一下
  1. group_name='yanshuling':定义了一个变量 group_name 并赋值为 'yanshuling',用于指定 Docker 镜像的组名。

  2. app_name='yanshuling':定义了一个变量 app_name 并赋值为 'yanshuling',用于指定应用程序的名称。

  3. app_version='0.0.1.jar':定义了一个变量 app_version 并赋值为 '0.0.1.jar',用于指定应用程序的版本。

  4. echo '----copy jar----':输出一段文本 '----copy jar----',用于提示正在进行复制jar文件的操作。

  5. docker stop ${app_name}:停止名为 ${app_name} 的 Docker 容器。

  6. docker rm ${app_name}:删除名为 ${app_name} 的 Docker 容器。

  7. docker rmi ${group_name}/${app_name}:${app_version}:删除名为 ${group_name}/${app_name}:${app_version} 的 Docker 镜像。

  8. cd /yuan/brook/yanshuling/:切换目录到 /yuan/brook/,假设该目录是包含了你的 Java 应用程序代码和相关文件的目录。

  9. docker build -t ${group_name}/${app_name}:${app_version} .:基于当前目录下的 Dockerfile 构建一个名为 ${group_name}/${app_name}:${app_version} 的 Docker 镜像。

  10. docker run -p 8686:8080 --name ${app_name} \ ...:运行一个 Docker 容器,映射主机端口 8686 到容器内部的端口 8080,设置时区为 Asia/Shanghai,容器的名称为 ${app_name},镜像为 ${group_name}/${app_name}:${app_version}

构建

然后我们点击保存,点击开始构建,就成功啦,等到构建完成之后,我们可以看看自己的容器有没有启动成功哦~

感谢大家支持,我颜书凌会更加努力,看到这里的朋友,可以给我一个三连吗,跪谢!!

                                                                            

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

让工作自动化起来!无所不能的Python

让工作自动化起来&#xff01;无所不能的Python 一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一内容简介作者简介前言读者对象如何阅读本书购买链接参与方式 随着我国企业数字化和信息化…

DC-9靶场

一.环境搭建 1.下载地址 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-9.zip 2.虚拟机配置 设置虚拟机为nat&#xff0c;遇到错误点重试和是 开启虚拟机如下图所示 二.开始渗透 1. 信息收集 查找靶机的ip地址 arp-scan -l 发现靶机的ip地址为192.168.11…

● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

● 435. 无重叠区间 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(intervals)1:return 0intervalssorted(intervals,keylambda x:(x[0],x[1]))res0for i in range(1,len(intervals)):if intervals[i][0]<intervals[i-1][…

KUKA机器人更改时间和HMI最小化设置

在使用 KUKA 机器人时&#xff0c;示教器上左边有个“表”的图标&#xff0c;点一下就会显示时间。但一般不准&#xff0c;想要更改时间可以通过HMI最小化后进行更改设置。更改时间需要将示教器界面最小化&#xff0c;也就是进入Windows 界面。通过以下步骤可以进行设置&#x…

自定义口令加入群聊怎么弄?用词令关键词直达口令加入微信群延长群二维码7天有效方法

微信口令加入群聊有二种方式 一、微信面对面建群 微信面对面建群的方式适合现实中的朋友之间相互认识且想要建立群聊的场景。微信面对面建群口令加入群聊的有效距离是在几十米范围内&#xff0c;因此只能是附近几十米范围内的人&#xff0c;正确输入微信面对面建群口令后才可…

Linux---多线程(下)

前情提要&#xff1a;Linux---多线程(上) 七、互斥 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有且只有一个执行流进入临…

雪王涨价?媒介盒子揭秘它的圈粉秘籍

最近蜜雪冰城又又又站上风口浪尖了&#xff0c;起因是有网友发现部门门店涨了一块钱。 随着舆论发酵越来越快&#xff0c;蜜雪冰城回应了问题&#xff0c;表示涨价属实&#xff0c;目前只在上海试行。 原本产品的涨价或降价都是经营常态&#xff0c;为什么蜜雪冰城的涨价能引起…

164.乐理基础-和声小调、旋律小调

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;163.自然小调、音名为何从C开始 首先是小调式里的和声小调 和声小调就是在自然小调的基础上&#xff0c;把自然小调的第Ⅶ级音升高一个半音&#xff0c;它的内部规则是 全半全全半增二半 带上首调 和声小调只有一个…

react 面试题(2024 最新版)

1. 对 React 的理解、特性 React 是靠数据驱动视图改变的一种框架&#xff0c;它的核心驱动方法就是用其提供的 setState 方法设置 state 中的数据从而驱动存放在内存中的虚拟 DOM 树的更新 更新方法就是通过 React 的 Diff 算法比较旧虚拟 DOM 树和新虚拟 DOM 树之间的 Chan…

无人驾驶(移动机器人)路径规划之A star(Tie Breaker)算法及其matlab实现

在自动驾驶与移动机器人路径规划时&#xff0c;必定会用到经典的算法A star。下面是我未加入与加入Tie Breaker 的matlab实现效果。可以发现加入Tie Breaker之后效果明显改善。 目录 一、效果比较 1.未加入Tie Breaker&#xff08;黑色为障碍物&#xff0c;菱形绿色为目标点…

Ubuntu joystick 测试手柄 xbox

Ubuntu joystick 测试手柄 xbox 测试使用Ubuntu20.04 测试环境在工控机 安装测试 实际测试使用的手柄是北通阿修罗2pro 兼容xbox Ubuntu20.04主机 连接手柄或者无线接收器后查看是否已经检测到&#xff1a; ls /dev/input找到输入中的 js0 即为手柄输入 需要安装joysti…

Linux基本指令篇

在前边&#xff0c;我们已经了解过了Linux操作系统的发展和应用&#xff0c;从该篇起&#xff0c;就正式进入对Linux的学习。 今天我们就来在Xshell上远程登录我们的云服务器。首先我们要知道自己云服务器的公网ip&#xff0c;然后修改一下密码。 点击跳转 修改完密码之后我们…

【Emgu CV教程】10.10、PointPolygonTest()判断点是否在轮廓内部

文章目录 一、函数介绍二、演示1.原始素材2.代码3.运行结果 一、函数介绍 PointPolygonTest()函数&#xff0c;俗称“点多边形检测”&#xff0c;是Emgu.CV中学习计算点到轮廓的距离&#xff0c;函数官方定义如下 public static double PointPolygonTest(IInputArray contour…

SpringSecurity学习总结(三更草堂)

SpringSecurity安全框架的核心功能是认证和授权&#xff1a; 认证&#xff1a;验证当前访问系统的是不是本系统的用户&#xff0c;并且要确认具体是哪个用户。 授权&#xff1a;经过认证后判断当前用户是否具有进行某个操作的权限。 一般来说中大型的项目都是使用SpringSecurit…

基于springboot实现房产销售系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现房产销售系统演示 摘要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于房产销售系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了房产销售系统…

flutter 使用wechatkit 进行分享 获取extinfo

首先有两个库 wechat_kit 基本分享 小程序分享等 wechat_kit | Flutter PackageA powerful Flutter plugin allowing developers to auth/share/pay with natvie Android & iOS Wechat SDKs.https://pub-web.flutter-io.cn/packages/wechat_kit需要调用微信sdk的api 还有…

[leetcode] 47. 全排列 II

文章目录 题目描述解题方法dfsjava代码复杂度分析 相似题目 题目描述 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff…

软件测试面试在简历上写了“精通”后,拥有工作经验的我被面试官问到窒息...

前言 如果有真才实学&#xff0c;写个精通可以让面试官眼前一亮&#xff01; 如果是瞎写&#xff1f;基本就要被狠狠地虐一把里&#xff01; 最近在面试&#xff0c;我现在十分后悔在简历上写了“精通”二字… 先给大家看看我简历上的技能列表&#xff1a; 熟悉软件测试理…

T2最长的AB序列(20分) - 京东前端笔试编程题题解

考试平台&#xff1a; 牛客网 题目类型&#xff1a; 选择题&#xff08;40分&#xff09; 3道编程题&#xff08;60分&#xff09; 考试时间&#xff1a; 2024-03-23 &#xff08;两小时&#xff09; 题目描述 给出一个仅由字符AB构成的字符串Str 请你求出S中包含A和B个数相…

解码视频流在opengl中的贴图投影计算

解码视频流在opengl中的贴图投影计算 修改顶点着色器cpp 文件放大缩小 我们把视频当成纹理,首先要确定贴入的坐标&#xff0c;原始坐标如下所示 static float vertices[] {// ---- 位置 ---- ---- 颜色 ---- - 纹理坐标 -1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f…