配置Jenkins以连续交付Spring Boot应用程序

在我以前的文章中,我描述了如何使用一个简单的命令启动连续交付堆栈 。 下一步是准备堆栈,以自动方式构建和部署应用程序。 在这篇文章中,我描述了如何配置堆栈,以便准备处理简单的Spring Boot应用程序 。 尽管我将这些组件作为Docker容器运行,但它们仍然需要进行配置以使其协同工作,尤其是Jenkins 。

当我在http:// localhost:8080打开全新Jenkins安装的控制台时,出现以下屏幕,我可以在其中输入生成的密码:

可以在屏幕上显示的文件中的Docker容器中找到该密码,也可以在docker-compose终端的控制台输出中找到该密码: 填写密码后,我可以选择安装“默认”插件,也可以自己选择。 对于我的用例,我可以简单地选择默认的一个(我使用的Jenkins图像已经包含了我需要的必要的非默认插件): 安装插件可能需要一段时间,但之后,我将在下一个屏幕中创建Admin用户: 在此屏幕之后,我得到了詹金斯仪表板: 在添加第一份工作之前,我需要首先解决一些问题:

  • 配置Gitlab插件
  • 添加Maven安装
  • 将Nexus配置为Maven镜像
    • 配置Gitlab插件

为了让Jenkins访问Git服务器,我创建了一个名为'jenkins'的新用户,该用户能够克隆存储库。 要创建新用户,请使用浏览器访问http:// localhost:8082 。 使用我的docker-compose堆栈,我可以使用用户'root'和密码'admin123'登录。 接下来,我点击“扳手”进入管理区域 :

在此管理区域中,我创建一个名为“ jenkins” 的新用户 : 如您所见,密码将被邮寄,但是由于我没有在Gitlab Docker中配置邮件服务器, 因此不会发生这种情况。 创建用户后,我选择它进行编辑。 然后,我可以手动填写密码。 现在,我注销以开始新的会话并以该新用户'jenkins'的身份登录。 第一次,我必须重设密码并再次登录。 最后,当我以“ jenkins”用户身份登录时,转到“ jenkins”用户的“配置文件设置”,然后打开“帐户”标签。 在这里,我看到该用户的专用令牌,如下所示: 我将其复制,以便可以在Jenkins配置中使用它。 回到Jenkins控制台,我转到“ Manage Jenkins ”并添加一个新的'Gitlab Api Key'类型的凭证 ,如下所示: 接下来,我进入“ 配置系统 ”并创建一个GitLab连接,如下所示: Gitlab插件将使用此API访问密钥,该插件将用于签出“管道”作业中的Git代码。

    • 添加Maven安装

在控制台中,转到“管理Jenkins”,然后选择“ 全局工具配置 ”。 单击“添加Maven”,然后将安装命名为“ M3”,如下所示:

此Maven安装的名称将在描述管道作业的Jenkinsfile中使用。

    • 将Nexus配置为Maven镜像

要为Maven安装定义全局Maven设置文件,请使用Config File Provider插件 。 要添加“ settings.xml ”文件,请转到“ Manage Jenkins ”,然后在主菜单中选择“ Managed files”:

选择“ 添加新配置 ”,然后选择“ Global Maven settings.xml”作为文件类型。 在内容部分,我将Nexus安装添加为镜像,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><mirror><!--This sends everything else to /public --><id>nexus</id><mirrorOf>*</mirrorOf><url>http://nexus:8081/repository/maven-public/</url></mirror></mirrors><profiles><profile><id>nexus</id><!--Enable snapshots for the built in central repo to direct --><!--all requests to nexus via the mirror --><repositories><repository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile></profiles><activeProfiles><!--make the profile active all the time --><activeProfile>nexus</activeProfile></activeProfiles>
</settings>

注意配置文件的ID。 我在管道代码中引用了它。 由于此管道是与Jenkins安装分开执行的,因此我使用插件“ Pipeline Maven plugin ”使管道使用相同的Maven设置。

现在就这样。 堆栈现在正在运行,并准备构建我的Spring Boot项目。 我将在下一篇文章中展示。

翻译自: https://www.javacodegeeks.com/2017/02/configure-jenkins-continuous-delivery-spring-boot-application.html

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

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

相关文章

虚拟鼠标代替安卓触屏_美术学院18级虚拟空间设计专业数字图像程序基础课程优秀结课成果展示优秀学生王雨禾作品展示...

学生代表&#xff1a;STUDENT REPRESENTATIVE|2018级虚拟空间设计专业 王雨禾此次编程课程的学习&#xff0c;让我受益匪浅&#xff0c;短短八周的时间&#xff0c;使我进一步加深了对自身专业的了解&#xff0c;也启发了我&#xff0c;提供给我一种新的创作方式和新的创作表现…

django定时任务

说明 网上很多资料都是比较旧的&#xff0c;不同的版本使用上存在差异&#xff0c;最好的方式是&#xff0c;根据使用的版本查看官方资料 django-celery-beat 用法和django-celery类似 INSTALLED_APPS [django_celery_beat] BEAT_SCHEDULER django_celery_beat.schedulers:Da…

LOG与DOG的关系

注意&#xff1a;这里只是推出LOG与DOG的关系 1&#xff09;高斯函数&#xff1a; &#xff08;1&#xff09; 2&#xff09;DOG&#xff08;Difference Of Gaussian&#xff09; DoG算子是LoG算子的近似&#xff0c;做法是求取不同sigma方差下的高斯滤波图像的差&#xff0c…

springboot springcloud区别_SpringBoot回顾、Spring Cloud初学

Spring Cloud介绍什么是Spring Cloud&#xff1f;Spring Cloud是一系列框架的有序集合。 它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发&#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等&#xff0c;都可以用Spring Boot的…

时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间(转)

原文:https://blog.csdn.net/sxf_123456/article/details/81582964 from datetime import datetime,timedelta #bucket[key_as_string] 2018-08-06T10:00:00.000Z date_ datetime.strptime(bucket[key_as_string],"%Y-%m-%dT%H:%M:%S.%fZ") #local_time 2018-08-0…

OpenCV minMaxLoc找图像中最小值最大值及它们的位置

void minMaxLoc(InputArray src, double* minVal, double* maxVal0, Point* minLoc0, Point* maxLoc0, InputArray masknoArray()) src&#xff1a;输入图像。 minVal&#xff1a;最小值&#xff0c;可輸入NULL表示不需要。 maxVal &#xff1a;最大值&#xff0c;可輸入NUL…

python无法打开hdf5_保存到hdf5非常慢(Python冻结)

我正在尝试将瓶颈值保存到新创建的hdf5文件中.瓶颈值分批形成(120,10,10,2048).保存一个单独的批次占用超过16个演出,python似乎在那一批冻结.根据最近的调查结果(见更新,似乎hdf5占用大内存是可以的,但冻结部分似乎是一个小故障.我只是试图保存前两批用于测试目的,而且仅用于测…

python request 留位置4

测试 转载于:https://www.cnblogs.com/syw20170419/p/11008870.html

收藏表数据库_选择您的收藏库

收藏表数据库这真的是您应该烦恼的吗&#xff1f; java.util.ArrayList和java.util.HashMap从根本上有问题吗&#xff1f; 对于大多数源代码&#xff0c;答案是–不&#xff1b; 这些实现完全可以。 但是&#xff0c;一如既往&#xff0c;细节决定成败。 并存在情况下&#x…

matlab norm向量和矩阵的范数

一、向量的范数 首先定义一个向量为&#xff1a;a[-5&#xff0c;6&#xff0c;8, -10] 1.1 向量的1范数 向量的1范数即&#xff1a;向量的各个元素的绝对值之和&#xff0c;上述向量a的1范数结果就是&#xff1a;29&#xff0c;MATLAB代码实现为&#xff1a;norm&#xff08;…

不能启动的问题 社区版安装后_CentOS7下安装docker(亲测+完整)

说明&#xff1a;1、docker要求Centos系统内核高于3.10&#xff0c;安装前先验证你的Centos版本是否支持docker&#xff1b;2、docker有两个分支版本&#xff1a;docker CE和docker EE&#xff0c;即社区版和企业版&#xff0c;自学研究建议使用社区版本&#xff1b;本文章介绍…

关于数据可视化页面制作

先出思路 数据可视化&#xff0c;目的是为了让纷繁的数据变得直观&#xff0c;更易领会数据代表的趋势、模型等。既然是带着目的的&#xff0c;应先把目标明确下来。目标写下来&#xff0c;思想上算落地了&#xff0c;那么就能给大脑腾出继续深入或扩展的空间。所以&#xff0c…

GitHub Research:超过50%的Java记录语句写错了

为什么生产日志无法帮助您找到错误的真正根本原因&#xff1f; 询问您是否使用日志文件监视您的应用程序几乎就像询问…您是否喝水。 我们都使用日志&#xff0c;但是我们如何使用它们则是一个完全不同的问题。 在下面的文章中&#xff0c;我们将对日志进行更深入的研究&…

matlab rgb2gray的实现

rgb2gray是matlab内部一种处理图像的函数&#xff0c;通过消除图像色调和饱和度信息同时保留亮度实现将将RGB图像或彩色图转换为灰度图像&#xff0c;即灰度化处理的功能&#xff0c;调用这个功能的格式是I rgb2gray(RGB)&#xff0c;意思是将真彩色图像RGB转换为灰度强度图像…

8k分辨率需要多大带宽_又一支持8K分辨率的接口标准发布

随着8K显示热潮的兴起&#xff0c;支持8K视频传输和显示的硬件产品越来越多。继之前发布的HDMI2.1标准之后&#xff0c;又一支持8K分辨率视频传输的接口标准DisplayPort 2.0正式发布。视频电子标准协会(VESA)自推出DisplayPort标准之后&#xff0c;历经了多次的修订&#xff0c…

白话解说TCP/IP协议三次握手和四次挥手

白话解说TCP/IP协议三次握手和四次挥手 1、背景 和女朋友异地恋一年多&#xff0c;为了保持感情我提议每天晚上视频聊天一次。 从好上开始&#xff0c;到现在&#xff0c;一年多也算坚持下来了。 1.1、问题 有时候聊天的过程中&#xff0c;我的网络或者她的网络可能会不好&…

matlab 去除pdf文档水印

1用pdf shaper将pdf转为图片; 2用matlab程序去水印代码如下; 3将去除水印的图片通过pdf shaper转为pdf. 1_1.jpg为要去除水印pdf文档 2_1.jpg为空的pdf文档 test_1.jpg为去除水印的图片 img_1 imread(1_1.jpg); img_2 imread(2_1.jpg);img_3 img_2-img_1; img_4 255-i…

音频信号发生器_1957年,DIY的Hi-Fi 电唱机单电子管音频发生器的音质保真度高...

1957年Hi-Fi 电唱机单电子管音频发生器也许你的MP3播放器听起来比62年前这位绅士的高保真转盘听起来要好一些&#xff0c;但我打赌不太可能自己动手DIY一台MP3播放器&#xff0c;就像下面这个家伙那样。在1957年版的《Radio-TV Experimenter》的封面上显示的这个产品是个DIY产品…

tensorflow 启动Session(tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session() )

&#xff08;1&#xff09;tf.Session() 计算图构造完成后, 才能启动图. 启动图的第一步是创建一个 Session 对象。 示例程序&#xff1a; #coding:utf-8 import tensorflow as tf #构造图 a tf.constant(4) b tf.constant(5) c ab#启动图 with tf.Session() as s…

终极Java日志字典:开发人员最常记录的单词是什么?

最终的记录字典&#xff0c;或者&#xff1a;我们记录的最常用单词是什么&#xff1f; 日志文件是调试应用程序的最常用方法&#xff0c;在解决错误时&#xff0c;它们一定可以引导我们朝着正确的方向发展。 但是&#xff0c;大多数日志文件每天都会增加一百万条消息&#xff…