jenkins如何进行自动化部署

 更新时间:2024年04月23日 09:23:09   作者:颜书凌  
这篇文章主要介绍了jenkins如何进行自动化部署问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

jenkins自动化部署 

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

一、下载插件

我们选择插件管理

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

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

二、设置全局工具配置

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

Docker 安装Jenkins

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}

解释一下:

  • group_name='yanshuling':定义了一个变量 group_name 并赋值为 'yanshuling',用于指定 Docker 镜像的组名。
  • app_name='yanshuling':定义了一个变量 app_name 并赋值为 'yanshuling',用于指定应用程序的名称。
  • app_version='0.0.1.jar':定义了一个变量 app_version 并赋值为 '0.0.1.jar',用于指定应用程序的版本。
  • echo '----copy jar----':输出一段文本 '----copy jar----',用于提示正在进行复制jar文件的操作。
  • docker stop ${app_name}:停止名为 ${app_name} 的 Docker 容器。
  • docker rm ${app_name}:删除名为 ${app_name} 的 Docker 容器。
  • docker rmi ${group_name}/${app_name}:${app_version}:删除名为 ${group_name}/${app_name}:${app_version} 的 Docker 镜像。
  • cd /yuan/brook/yanshuling/:切换目录到 /yuan/brook/,假设该目录是包含了你的 Java 应用程序代码和相关文件的目录。
  • docker build -t ${group_name}/${app_name}:${app_version} .:基于当前目录下的 Dockerfile 构建一个名为 ${group_name}/${app_name}:${app_version} 的 Docker 镜像。
  • docker run -p 8686:8080 --name ${app_name} \ ...:运行一个 Docker 容器,映射主机端口 8686 到容器内部的端口 8080,设置时区为 Asia/Shanghai,容器的名称为 ${app_name},镜像为 ${group_name}/${app_name}:${app_version}

构建

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker安装RabbitMQ并安装延时队列插件

    Docker安装RabbitMQ并安装延时队列插件

    本文主要介绍了Docker安装RabbitMQ并安装延时队列插件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • docker部署vue项目的实现步骤

    docker部署vue项目的实现步骤

    本文主要介绍了docker部署vue项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • docker利用dockerfile构建镜像

    docker利用dockerfile构建镜像

    dockerfile是一种用于定义和构建docker镜像的文本文件,由一行行指令和参数组成,用于描述镜像的构建和配置过程;由基础映像、软件包安装、文件拷贝、环境变量设置等组成
    2024-10-10
  • Docker网络如何配置dns

    Docker网络如何配置dns

    这篇文章主要介绍了Docker网络如何配置dns问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker容器无法执行vim的解决方案

    docker容器无法执行vim的解决方案

    这篇文章主要介绍了docker容器无法执行vim的解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 在docker中部署k8s的方法

    在docker中部署k8s的方法

    这篇文章主要介绍了在docker中部署k8s的方法,包括K8S的基本概念介绍,docker容器的下载方法及k8s相关命令介绍,感兴趣的朋友一起看看吧
    2021-07-07
  • docker容器配置启动参数

    docker容器配置启动参数

    通过添加参数,我们可以在启动 Docker 容器时灵活地配置容器的行为,本文介绍了通过命令行和 Dockerfile 两种方式添加参数的方法,并给出了常用参数的示例,希望本文能帮助您理解如何在 Docker 启动时添加参数,并正确地配置和管理 Docker容器
    2023-10-10
  • docker在ubuntu14.04下的安装步骤

    docker在ubuntu14.04下的安装步骤

    这篇文章主要介绍了docker在ubuntu14.04下的安装步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 一文详解如何获取docker镜像中的jar包

    一文详解如何获取docker镜像中的jar包

    本人在工作中遇到了需要在docker查看jar这种操作,查看了许多资料,终于还是找到了,下面这篇文章主要给大家介绍了关于如何获取docker镜像中jar包的相关资料,需要的朋友可以参考下
    2024-05-05
  • Docker Kill/Pause/Unpause命令使用与区别小结

    Docker Kill/Pause/Unpause命令使用与区别小结

    本文详细介绍了Docker中的三个重要命令,kill、pause和unpause,这些命令在管理和操作运行中的容器时非常有用,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03

最新评论