首页 > 其他分享 >jenkins进行自动化部署

jenkins进行自动化部署

时间:2024-03-28 16:00:16浏览次数:26  
标签:group name 部署 app version 自动化 yanshuling jenkins docker

   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}

构建

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

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

                                                                            

标签:group,name,部署,app,version,自动化,yanshuling,jenkins,docker
From: https://blog.csdn.net/2302_77971734/article/details/137054928

相关文章

  • 软件测试---自动化测试(黑盒测试)
    一.获取元素定位的方法:selenium主要提供了8种定位元素方法:1.findElement(By.id(元素的id属性名称));2.findElement(By.name(元素的name属性名称));3.findElement(By.linkText(a标签内的全部文本内容(精确查询) ));4.findElement(By.partiallinkText( a标签内......
  • hbase - [02] 分布式安装部署
      一、角色规划主机名node01node02node03node04Zookeeper○○○ NameNode○○  JournalNode○○○ DataNode○○○○ResourceManager○○  NodeManager○○○○Master○○○ RegionServer○○○○......
  • [Python]-基础-1.环境部署
    [Python]基础——环境部署&知识补充一、环境部署1.1软件下载1.1.1版本选择内置函数是Python自带的函数,不同版本的Python,其内置函数在数量和使用上大不相同,尤其是Python2和Python3大版本之间的迭代,教程全程采用Python3.8.3进行代码演示,为了避免版本兼容冲突,希望......
  • openGauss/MogDB数据库安装部署之xlog目录设置
    openGauss/MogDB数据库安装部署之xlog目录设置本文出处:https://www.modb.pro/db/176915关于xlogxlog文件是一个记录事务日志的文件,它记录数据库系统中所有的更改操作,当发生主机电源故障或其他导致服务器崩溃的服务器故障时,由于xlog日志包含了关于已经执行的每个事务的足......
  • openEuler20.03操作系统上安装部署MogDB2.1.1
    openEuler20.03操作系统上安装部署MogDB2.1.1本文出处:https://www.modb.pro/db/378319openEuler操作系统上安装mogdb:下载openEuler镜像文件:openEuler-20.03-LTS-x86_64-dvd.iso可以到各镜像源网站下载:例如:清华源下载地址:https://mirrors.tuna.tsinghua.edu.cn/openeule......
  • 短剧分销系统平台开发搭建,开发短剧分销系统,源码授权系统独立部署
    一、短剧目前的发展现状短剧市场已经形成了100多亿的市场规模,为短剧分销系统带来了巨大的商机。短剧以其独特的内容和形式吸引了观众,尤其是年轻用户,为短剧分销系统提供了广阔的市场空间。目前,短剧分销系统正处于快速发展阶段,市场潜力巨大,创作者参与度增加,观众吸引力增强,也在......
  • Sentry私有化部署+钉钉机器人通知
    第一时间解决代码异常报错方案,sentry是一个工单系统,收集代码中的错误信息,保留完整的案发现场,帮助开发人员快速知晓、解决、追溯问题.sentry提供Saas版本付费开通,不仅如此还开源了代码,提供有运维能力的公司或个人私有化部署.支持丰富的语言环境,前后端91个选择.先简单了......
  • 部署elementPlus离线版本
    最近项目需要离线开发,不能联网查一些组件的api,于是决定搞一个离线版的文档一、下载官方文档下载地址github地址gitee地址选择版本直接下载压缩包二、下载live-server插件全局下载live-server插件npmilive-server-gvscode下载三、运行在文件目录下......
  • Linux:部署达梦数据库DM8(1)
    0.安装DM8数据库安装包产品下载-达梦数据(dameng.com)https://www.dameng.com/list_103.html进入官方网站下载centos7的安装包,本章使用centos7进行部署,提前关闭好防火墙和selinux  建议你的系统运行内存为:2G或以上1.部署基础环境先安装一下桌面环境yum-ygroupinstal......
  • Centos7.9 部署mongodb高可用集群 3节点
    一、部署准备1.三台节点准备192.168.145.172192.168.145.173192.168.145.1742.官网地址:社区版传送门3.选择对应的版本并下载4.创建用于存放数据、日志文件和配置文件的文件夹mkdir-p/data/mongodbmkdir/var/log/mongodbmkdir/etc/mongodb5.解压安装包,配置环境......