自动化集成:Jenkins管理工具详解

简介: 围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作;
前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作; 本篇文章主要描述Jenkins基础用法

00-0.png

一、Jenkins安装

1、环境部署

下载Jenkins包

注意这里直接下载war文件,以Java服务的形式启动。

  • 环境:war运行
  • 版本:2.289.3
  • 类型:Generic Java package (.war)

启动命令

java -jar jenkins.war --httpPort=8090

启动日志

Jenkins is fully up and running

访问本地端口:8090

该页面会提示初始登录密码的位置,查看该文件中初始密码,并完成登录。

/.jenkins/secrets/initialAdminPassword

安装推荐插件

登录之后先把推荐的插件装上。

01-1.png

创建用户

插件安装完成之后会提示创建用户。

账号:admin  密码:admin

这样初始化完成。

重新启动:restart

Jenkins_url/restart

2、配置与插件

基础配置

打开:Manage-Jenkins选项,配置Global-Tool-Configuration选项:

01-2.png

- 查看JDK安装目录
/usr/libexec/java_home -V

- 查看Git安装目录
which git

- 查看Maven安装目录
mvn -v

配置组件:JDK、Git、Maven,采用开发环境的组件版本;

插件安装

01-3.png

安装如下插件:

1、Maven插件
Maven Integration plugin

2、Pipeline插件
Pipeline Utility Steps

二、本地Git打包

简介:基于Jenkins完成本地的Git仓库项目打包;

1、新建Item

01-4.png

  • 任务名称:MavLoc,处理本地maven工程;
  • 任务类型:选择构建maven项目;

2、构建记录管理

01-5.png

保持构建的天数:3天,保持构建的最大个数:10个;

3、构建过程

前置Pre-Steps步骤,这里执行一次maven版本查看:

01-6.png

构建Build步骤,这里直接写项目的pom路径,注意执行的maven命令:

01-7.png

clean package -Dmaven.test.skip=true

后置Post Steps步骤,注意选择构建成功后才执行,自行忽略这里shell语法的不入流组合:

01-8.png

#!/bin/bash

BUILD_ID=dontKillMe

# 定义目录
AUTO_PATH=/项目路径/butte-auto-parent/

# 移动Jar包
cd $AUTO_PATH/auto-client/target/
pwd
mv auto-client-1.0-SNAPSHOT.jar $AUTO_PATH

cd $AUTO_PATH/auto-serve/target/
pwd
mv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH

# 启动服务
cd $AUTO_PATH

nohup java -jar auto-client-1.0-SNAPSHOT.jar &
echo "run auto-client ..."

sleep 20s

nohup java -jar auto-serve-1.0-SNAPSHOT.jar &
echo "run auto-serve ..."

4、执行构建

上述配置完成后,打开任务页面,执行如下操作:

  • Build Now:执行上面的构建任务;
  • 构建 #ID:查看控制台输出的日志;

这样就可以通过jenkins完成本地项目的打包和启动了。

三、API触发任务

1、用户令牌

简介:通过配置用户API访问的token令牌,脱离jenkins控制台,直接触发构建任务;

进入用户面板的设置选项,配置API Token:

01-9.png

注意这里生成令牌后要立刻复制下来,页面会提示token无法复现。

2、任务令牌

任务配置的构建触发器模块,设置远程构建的令牌:

01-10.png

上面已经给到token的使用方式。

3、脚本触发

通过如下方式,直接触发上述构建任务的流程:

curl http://用户:令牌@Jenkins_Url/job/MavLoc/build?token=任务令牌

这里通过脚本直接请求URL的方式触发流程。

四、打包Git项目

1、配置仓库

创建MavGit任务,这里不做过多的配置,与本地仓库相比,只是把仓库地址换成Gitee地址,只配置仓库url和分支即可,其他采用默认:

01-11.png

因为是开放的仓库地址,所以不用配置账号密码,默认指定master分支,然后执行build构建。

2、查看空间

上面流程执行完后,查看MavGit的工作空间:/.jenkins/workspace/MavGit

这里可以明显发现,仓库的代码已经被pull下来,并且完成了自动打包流程,后续结合shell脚本完成jar启动管理即可。

五、源代码地址

GitEE·地址
https://gitee.com/cicadasmile/butte-auto-parent
Wiki·地址
https://gitee.com/cicadasmile/butte-java-note/wikis
相关文章
|
3天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
3天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
5天前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色?
自动化和持续集成在软件开发中各自扮演什么角色?
|
5天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
|
5天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
6天前
|
敏捷开发 Devops 测试技术
自动化测试中的持续集成与持续部署
在现代软件开发实践中,自动化测试是确保软件质量和快速迭代的关键。本文将探讨自动化测试如何与持续集成(CI)和持续部署(CD)流程相结合,以提高开发效率和软件质量。我们将分析CI/CD管道中自动化测试的最佳实践,以及如何克服实施过程中的挑战。
26 6
|
6天前
|
运维 Ubuntu 应用服务中间件
自动化运维工具Ansible的实战应用
【10月更文挑战第36天】在现代IT基础设施管理中,自动化运维已成为提升效率、减少人为错误的关键手段。本文通过介绍Ansible这一流行的自动化工具,旨在揭示其在简化日常运维任务中的实际应用价值。文章将围绕Ansible的核心概念、安装配置以及具体使用案例展开,帮助读者构建起自动化运维的初步认识,并激发对更深入内容的学习兴趣。
27 4
|
7天前
|
jenkins 测试技术 持续交付
探索软件测试中的自动化与持续集成
本文深入探讨了软件测试领域中自动化测试和持续集成的融合应用,分析了这种结合如何提升软件开发的效率和质量。通过具体案例分析,展示了自动化测试和持续集成在软件开发生命周期中的关键作用及其实施策略。
|
8天前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色?
自动化和持续集成在软件开发中各自扮演什么角色?
|
8天前
|
运维 监控 数据安全/隐私保护
自动化运维工具的设计与实现
【10月更文挑战第34天】在现代IT基础设施管理中,自动化运维工具扮演着至关重要的角色。它们不仅提高了运维效率,还确保了服务的连续性和稳定性。本文将深入探讨如何设计并实现一个自动化运维工具,从需求分析到功能实现,再到最终的测试与部署。我们将通过一个简单的代码示例来展示如何自动执行常见的运维任务,如日志清理和性能监控。文章旨在为读者提供一套完整的方法论,以便他们能够构建自己的自动化运维解决方案。

热门文章

最新文章