欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-10 18:57:15
...

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

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

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

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

为了让Jenkins访问Git服务器,我创建了一个名为'jenkins'的新用户,该用户能够克隆存储库。 要创建新用户,请使用浏览器访问http:// localhost:8082 使用我的docker-compose堆栈,我可以使用用户'root'和密码'admin123'登录。 接下来,我点击“扳手”进入管理区域
配置Jenkins以连续交付Spring Boot应用程序
在此管理区域中,我创建一个名为“ jenkins” 的新用户 配置Jenkins以连续交付Spring Boot应用程序 如您所见,密码将被邮寄,但是由于我没有在Gitlab Docker中配置邮件服务器, 因此不会发生这种情况。 创建用户后,我选择它进行编辑。 然后,我可以手动填写密码。 现在,我注销以开始新的会话并以该新用户'jenkins'的身份登录。 第一次,我必须重设密码并再次登录。 最后,当我以“ jenkins”用户身份登录时,转到“ jenkins”用户的“配置文件设置”,然后打开“帐户”标签。 在这里,我看到该用户的专用令牌,如下所示: 配置Jenkins以连续交付Spring Boot应用程序 我将其复制,以便可以在Jenkins配置中使用它。 回到Jenkins控制台,我转到“ Manage Jenkins ”并添加一个新的'Gitlab Api Key'类型的凭证 ,如下所示: 配置Jenkins以连续交付Spring Boot应用程序 接下来,我进入“ 配置系统 ”并创建一个GitLab连接,如下所示: 配置Jenkins以连续交付Spring Boot应用程序 Gitlab插件将使用此API访问**,该插件将用于签出“管道”作业中的Git代码。

    • 添加Maven安装

在控制台中,转到“管理Jenkins”,然后选择“ 全局工具配置 ”。 单击“添加Maven”,然后将安装命名为“ M3”,如下所示:
配置Jenkins以连续交付Spring Boot应用程序
Maven安装的名称将在描述管道作业Jenkinsfile中使用。

    • 将Nexus配置为Maven镜像

要为Maven安装定义全局Maven设置文件,请使用Config File Provider插件 要添加“ settings.xml ”文件,请转到“ Manage Jenkins ”,然后在主菜单中选择“ Managed files”:
配置Jenkins以连续交付Spring Boot应用程序
选择“ 添加新配置 ”,然后选择“ 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