jenkins如何进行自动化部署
作者:颜书凌
这篇文章主要介绍了jenkins如何进行自动化部署问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
jenkins自动化部署
hello,大家好,前文我们已经下载好我们的jenkins了,下面我们用jenkins来实现自动化部署啦!
一、下载插件
我们选择插件管理
一个是Maven Integration plugin,一个是 Publish Over SSH
这里因为作者已经下载好了,所以在Installed可以查找到
二、设置全局工具配置
maven和jdk下载可以去查看作者
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}
。
构建
然后我们点击保存,点击开始构建,就成功啦,等到构建完成之后,我们可以看看自己的容器有没有启动成功哦~
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。